IntlDateFormatter::setLenient
datefmt_set_lenient
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
IntlDateFormatter::setLenient -- datefmt_set_lenient — Configure la souplesse de l'analyseur
Description
Style orienté objet
$lenient
)Style procédural
Définit si l'analyseur est strict ou souple lors de l'interprétation des chaînes qui ne correspondent pas exactement au modèle recherché. Activer la souplesse da l'analyseur permet d'accepter des valeurs qui pourraient être considérées comme erronées par l'analyseur strict. Les espaces, les caractères inconnus ou les dates invalides ne sont pas acceptées.
Liste de paramètres
-
fmt
-
La ressource de formateur IntlDateFormatter.
-
lenient
-
Si l'analyseur est souple ou non, par défaut, vaut
TRUE
(souple).
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
Version en cache
22/12/2024 18:11:27 Cette version de la page est en cache (à la date du 22/12/2024 18:11:27) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-intldateformatter.setlenient.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.