IntlCalendar::isLenient

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

IntlCalendar::isLenientОпределяет, является ли интерпретация даты/времени мягкой

Описание

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

publicIntlCalendar::isLenient(): bool

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

intlcal_is_lenient(IntlCalendar$calendar): bool

Возвращает, является ли текущая интерпретация даты и времени мягкой (по умолчанию). В этом случае некоторые значения полей вне допустимого диапазона будут приняты вместо того, чтобы вызывать ошибку.

Список параметров

calendar

Экземпляр класса IntlCalendar.

Возвращаемые значения

Логическое значение (bool), указывающее, установлен ли в календаре мягкий режим.

Примеры

Пример #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 , 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)); // ошибка

Результат выполнения приведённого примера:

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
To Top