IntlCalendar::isLenient

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

IntlCalendar::isLenientWhether date/time interpretation is in lenient mode

说锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟�

public IntlCalendar::isLenient ( void ) : bool

锟斤拷锟教伙拷锟斤拷锟�

intlcal_is_lenient ( IntlCalendar $cal ) : bool

Returns whether the current date/time interpretations is lenient (the default). If that is case, some out of range values for fields will be accepted instead of raising an error.

锟斤拷锟斤拷

cal

The IntlCalendar resource.

锟斤拷锟斤拷值

A bool representing whether the calendar is set to lenient mode.

锟斤拷锟斤拷

Example #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/* July */1);
var_dump(IntlDateFormatter::formatObject($cal), // 01/07/2013, 00:00:00
$cal->isLenient()); // true

$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH33);
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_MONTH33);
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