IntlDateFormatter::isLenient
datefmt_is_lenient
(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
IntlDateFormatter::isLenient -- datefmt_is_lenient — Obtener la tolerancia usada por un formateador de IntlDateFormatter
Descripción
Estilo orientado a objetos
public bool IntlDateFormatter::isLenient
( void
)
Estilo por procedimientos
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::FULL,
IntlDateFormatter::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').\nEl resultado es : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() !=0 ){
echo "\nEl mensaje del error es : ".intl_get_error_message();
echo "\nEl 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').\nEl resultado es : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() !=0 ){
echo "\nEl mensaje del error es : ".intl_get_error_message();
echo "\nEl código del error es : ".intl_get_error_code();
}
?>
Ejemplo #2 Ejemplo orientado a objetos
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::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() !=0 ){
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() !=0 ){
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
- datefmt_set_lenient() - Establecer la tolerancia del analizador
- datefmt_create() - Crear un formateador de fechas