IntlCalendar
PHP Manual

IntlCalendar::isLenient

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

IntlCalendar::isLenientIndicar si la interpretación de una fecha/hora está en modo tolerante

Descripción

Estilo orientado a objetos

public bool IntlCalendar::isLenient ( void )

Estilo por procedimientos

bool intlcal_is_lenient ( IntlCalendar $cal )

Devuelve si las interpretaciones de fecha/hora actuales son tolerantes (lo predeterminado). Si este fuera el caso, se aceptarán algunos valores fuera de rango, en lugar de emitir un error.

Parámetros

cal

El recurso IntlCalendar.

Valores devueltos

Un booleano que representa si el calendario está en modo tolerante.

Ejemplos

Ejemplo #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

El resultado del ejemplo sería:

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


IntlCalendar
PHP Manual