IntlCalendar
PHP Manual

IntlCalendar::isLenient

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

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

Descrição

Estilo orientado à objeto

public bool IntlCalendar::isLenient ( void )

Estilo procedural

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.

Parâmetros

cal

The IntlCalendar resource.

Valor Retornado

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

Exemplos

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

O exemplo acima irá imprimir:

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