(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::setLenient -- datefmt_set_lenient — Configure la souplesse de l'analyseur
Description
Style orienté objet
public
IntlDateFormatter::setLenient(bool
$lenient
): void
datefmt_set_lenient(IntlDateFormatter
$formatter
, bool
$lenient
): void
Liste de paramètres
-
formatter
-
La ressource de formateur IntlDateFormatter.
-
lenient
-
Si l'analyseur est souple ou non, par
défaut, vaut true
(souple).
Valeurs de retour
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Exemples
Exemple #1 Exemple avec datefmt_set_lenient()
<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'dd/MM/yyyy'
);
echo 'Le formateur est strict : ';
if ($fmt->isLenient()) {
echo 'Oui';
} else {
echo 'Non';
}
datefmt_parse($fmt, '35/13/1971');
echo "\nTentative d'analyse de la date '35/13/1971'.\nLe résultat est : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
echo "\nError_msg est : " . intl_get_error_message();
echo "\nError_code est : " . intl_get_error_code();
}
datefmt_set_lenient($fmt, false);
echo "\nMaintenant, le formateur est strict : ";
if ($fmt->isLenient()) {
echo 'Oui';
} else {
echo 'Non';
}
datefmt_parse($fmt, '35/13/1971');
echo "\nTentative d'analyse de la date '35/13/1971'.\nLe résultat est : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
echo "\nError_msg est : ".intl_get_error_message();
echo "\nError_code est : ".intl_get_error_code();
}
?>
Exemple #2 Exemple orienté objet
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'dd/MM/yyyy'
);
echo 'Le formateur est strict : ';
if ($fmt->isLenient()) {
echo 'Oui';
} else {
echo 'Non';
}
$fmt->parse('35/13/1971');
echo "\n Tentative d'analyse de la date '35/13/1971'.\nLe résultat est : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
echo "\nError_msg est : " . intl_get_error_message();
echo "\nError_code est : " . intl_get_error_code();
}
$fmt->setLenient(FALSE);
echo "\nMaintenant, le formateur est strict : ";
if ($fmt->isLenient()) {
echo 'Oui';
} else {
echo 'Non';
}
$fmt->parse('35/13/1971');
echo "\n Tentative d'analyse de la date '35/13/1971'.\nLe résultat est : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
echo "\nError_msg est : " . intl_get_error_message();
echo "\nError_code est : " . intl_get_error_code();
}
?>
L'exemple ci-dessus va afficher :
Le formateur est strict : Non
Tentative d'analyse de la date '35/13/1971'.
Le résultat est : 66038400
Maintenant, le formateur est strict : Oui
Tentative d'analyse de la date '35/13/1971'.
Le résultat est : Error_msg est : Date parsing failed: U_PARSE_ERROR Error_code est : 9
Voir aussi
- datefmt_is_lenient() - Retourne la sévérité utilisée pour IntlDateFormatter
- datefmt_create() - Crée un formateur de date