Whether date/time interpretation is in lenient mode


(PHP 5.5.0, PECL >= 3.0.0a1)

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

Описание

Объектно-ориентированный стиль

public bool IntlCalendar::isLenient ( void )

Процедурный стиль

bool intlcal_is_lenient ( IntlCalendar $cal )

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.

Примеры

Пример #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