IntlDateFormatter
PHP Manual

IntlDateFormatter::isLenient

datefmt_is_lenient

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

IntlDateFormatter::isLenient -- datefmt_is_lenientObtener la tolerancia usada por un formateador de IntlDateFormatter

Descripción

Estilo orientado a objetos

bool IntlDateFormatter::isLenient ( void )

Estilo por procedimientos

bool datefmt_is_lenient ( IntlDateFormatter $fmt )

Comprueba si el analizador es estricto o tolerante al interpretar las entradas que no coinciden exactamente con el patrón.

Parámetros

fmt

El recurso del formatedor.

Valores devueltos

TRUE si el analizador es tolerante, FALSE si es estricto. Por omisión, el analizador es tolerante.

Ejemplos

Ejemplo #1 Ejmplo de datefmt_is_lenient()

<?php
$fmt 
datefmt_create"en_US"IntlDateFormatter::FULLIntlDateFormatter::FULL'America/Los_Angeles'IntlDateFormatter::GREGORIAN"dd/mm/yyyy");
echo 
"La tolerancia del formateador es : ";
if( 
$fmt->isLenient() ){
        echo(
'TRUE');
}else{
        echo(
'FALSE');
}
datefmt_parse($fmt,"35/13/1971");
echo 
"\n Intentar realizar parse('35/13/1971'). El resultado es : " .datefmt_parse($fmt,"35/13/1971");
if( 
intl_get_error_code() !=){
        echo 
"El mensaje del error es : ".intl_get_error_message();
        echo 
"El código del error es : ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo 
"Ahora la toleranca del formateador es : ";
if( 
$fmt->isLenient() ){
        echo(
'TRUE');
}else{
        echo(
'FALSE');
}
datefmt_parse($fmt,"35/13/1971");
echo 
"\n Intentar realizar parse('35/13/1971'). El resultado es : " .datefmt_parse($fmt,"35/13/1971");
if( 
intl_get_error_code() !=){
        echo 
"El mensaje del error es : ".intl_get_error_message();
        echo 
"El código del error es : ".intl_get_error_code();
}

?>

Ejemplo #2 Ejemplo orientado a objetos

<?php
$fmt 
= new IntlDateFormatter("en_US"IntlDateFormatter::FULLIntlDateFormatter::FULL'America/Los_Angeles'IntlDateFormatter::GREGORIAN"dd/mm/yyyy"  );
echo 
"La tolerancia del formateador es : ";
if( 
$fmt->isLenient() ){
        echo(
'TRUE');
}else{
        echo(
'FALSE');
}
$fmt->parse("35/13/1971");
echo 
"\n Intentar realizar parse('35/13/1971'). El resultado es : " .$fmt->parse("35/13/1971");
if( 
intl_get_error_code() !=){
        echo 
"El mensaje del error es : ".intl_get_error_message();
        echo 
"El código del error es : ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo 
"Ahora la toleranca del formateador es : ";
if( 
$fmt->isLenient() ){
        echo(
'TRUE');
}else{
        echo(
'FALSE');
}
$fmt->parse("35/13/1971");
echo 
"\n Intentar realizar parse('35/13/1971'). El resultado es : " .$fmt->parse("35/13/1971");
if( 
intl_get_error_code() !=){
        echo 
"El mensaje del error es : ".intl_get_error_message();
        echo 
"El código del error es : ".intl_get_error_code();
}

?>

El resultado del ejemplo sería:

La tolerancia del formateador es : TRUE
Intentar realizar parse('35/13/1971').
El resultado es : -2147483
Ahora la toleranca del formateador es : FALSE
Intentar realizar parse('35/13/1971').
El resultado es : El mensaje del error es : Date parsing failed: U_PARSE_ERROR El código del error es : 9

Ver también


IntlDateFormatter
PHP Manual