Php/docs/intlcalendar.islenient

From Get docs

IntlCalendar::isLenient

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

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


Description

Object oriented style

public IntlCalendar::isLenient ( ) : bool

Procedural style

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.


Parameters

cal
The IntlCalendar resource.


Return Values

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


Examples

Example #1 IntlCalendar::isLenient()

<?phpini_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

The above example will output:


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