IntlCalendar::isLenient

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

IntlCalendar::isLenientIndique si l'interprétation de la date/heure est en mode tolérant

Description

Style orienté objet

public IntlCalendar::isLenient(): bool

Style procédural

intlcal_is_lenient(IntlCalendar $calendar): bool

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.

Liste de paramètres

calendar

Une instance IntlCalendar.

Valeurs de retour

Un bool représentant si le calendrier est en mode tolérant.

Exemples

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top