Internationalization IntlCalendar::isLenient

IntlCalendar::isLenient

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::isLenient — 날짜/시간 해석이 관대 모드인지 여부


설명

객체 지향 스타일

public IntlCalendar::isLenient(): bool

절차적 스타일

intlcal_is_lenient(IntlCalendar $calendar): bool

현재 날짜/시간 해석이 관대한지 여부를 반환합니다(기본값). 이 경우 오류를 발생시키는 대신 필드의 일부 범위를 벗어난 값이 허용됩니다.


매개변수

calendar
IntlCalendar 인스턴스입니다.

반환 값

달력이 lenient 모드로 설정되었는지 여부를 나타내는 bool입니다.


Examples

예제 #1 IntlCalendar::isLenient()

                  
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
ini_set('intl.use_exceptions', '1');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
var_dump(IntlDateFormatter::formatObject($cal), // 01/07/2013, 00:00:00
$cal->isLenient()); // true

$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // 02/08/2013, 00:00:00

$cal->setLenient(false);
var_dump($cal->isLenient()); // false
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // error
                  
                

위의 예는 다음을 출력합니다.

string(20) "01/07/2013, 00:00:00"
bool(true)
string(20) "02/08/2013, 00:00:00"
bool(false)

Fatal error: Uncaught exception 'IntlException' with message 'datefmt_format_object: error obtaining instant from IntlCalendar' in /home/foobar/example.php:16
Stack trace:
#0 /home/foobar/example.php(16): IntlDateFormatter::formatObject(Object(IntlGregorianCalendar))
#1 {main}
  thrown in /home/foobar/example.php on line 16