(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::isLenient — Indique si l'interprétation de la date/heure est en mode tolérant
Style orienté objet
Style procédural
Renvoie si l'interprétation de la date/heure est en mode tolérant (le mode par défaut). Si c'est le cas, certaines valeurs hors limites pour les champs seront acceptées au lieu de générer une erreur.
calendar
Une instance IntlCalendar.
Un bool représentant si le calendrier est en mode tolérant.
Exemple #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 /* 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)); // erreur
L'exemple ci-dessus va afficher :
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