IntlDateFormatter
PHP Manual

IntlDateFormatter::isLenient

datefmt_is_lenient

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::isLenient -- datefmt_is_lenientRetourne la sévérité utilisée pour IntlDateFormatter

Description

Style orienté objet

public bool IntlDateFormatter::isLenient ( void )

Style procédural

bool datefmt_is_lenient ( IntlDateFormatter $fmt )

Vérifie si l'analyseur est strict ou souple lors de l'interprétation des chaînes qui ne correspondent pas exactement au modèle recherché.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

Valeurs de retour

TRUE si l'analyseur est souple, FALSE si l'analyseur est strict. Par défaut, l'analyseur est souple.

Exemples

Exemple #1 Exemple avec datefmt_is_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 
"\n Tentative 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 
Maintenantle formateur est strict ';
if ($fmt->isLenient()) {
    echo '
Oui';
} else {
    echo '
Non';
}
datefmt_parse($fmt, '
35/13/1971');
echo "\n Tentative d'
analyse de la date '35/13/1971'.Le 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 
'Now lenient of the formatter is : ';
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 : Oui
Tentative d'analyse de la date '35/13/1971'. 
Le résultat est : 34503180
Maintenant, le formateur est strict : Non
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


IntlDateFormatter
PHP Manual