IntlDateFormatter
PHP Manual

IntlDateFormatter::isLenient

datefmt_is_lenient

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

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

Description

Style orienté objet

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(), procédural

<?php
$fmt 
datefmt_create"en_US"IntlDateFormatter::FULLIntlDateFormatter::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'. Le résultat est : " .datefmt_parse($fmt,"35/13/1971");
if( 
intl_get_error_code() !=){
        echo 
"Error_msg est : ".intl_get_error_message();
        echo 
"Error_code est : ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo 
"Maintenant, 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'. Le résultat est : " .datefmt_parse($fmt,"35/13/1971");
if( 
intl_get_error_code() !=){
        echo 
"Error_msg est : ".intl_get_error_message();
        echo 
"Error_code est : ".intl_get_error_code();
}

?>

Exemple #2 Exemple avec datefmt_is_lenient(), POO

<?php
$fmt 
= new IntlDateFormatter("en_US"IntlDateFormatter::FULLIntlDateFormatter::FULL'America/Los_Angeles'IntlDateFormatter::GREGORIAN"dd/mm/yyyy" );
echo 
"Le formateur est strict : ";
if( 
$fmt->isLenient() ){
        echo(
'Oui');
}else{
        echo(
'Nom');
}
$fmt->parse("35/13/1971");
echo 
"\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .$fmt->parse("35/13/1971");
if( 
intl_get_error_code() !=){
        echo 
"Error_msg est : ".intl_get_error_message();
        echo 
"Error_code est : ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo 
"Maintenant, la sévérité du formateur est : ";
if( 
$fmt->isLenient() ){
        echo(
'Oui');
}else{
        echo(
'Non');
}
$fmt->parse("35/13/1971");
echo 
"\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .$fmt->parse("35/13/1971");
if( 
intl_get_error_code() !=){
        echo 
"Error_msg est : ".intl_get_error_message();
        echo 
"Error_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