(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::isLenient -- datefmt_is_lenient — Devuelve la severidad utilizada para IntlDateFormatter
Estilo orientado a objetos
Estilo procedimental
Verifica si el analizador es estricto o flexible al interpretar strings que no coinciden exactamente con el patrón buscado.
true
si el analizador es flexible, false
si el analizador es estricto.
Por omisión, el analizador es flexible.
Ejemplo #1 Ejemplo con datefmt_is_lenient()
<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'dd/mm/yyyy'
);
echo 'El formateador es estricto : ';
if ($fmt->isLenient()) {
echo 'Sí';
} else {
echo 'No';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Intento de análisis de la fecha '35/13/1971'.\nEl resultado es : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
echo "\nError_msg es : " . intl_get_error_message();
echo "\nError_code es : " . intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo 'Ahora, el formateador es estricto : ';
if ($fmt->isLenient()) {
echo 'Sí';
} else {
echo 'No';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Intento de análisis de la fecha '35/13/1971'.\nEl resultado es : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
echo "\nError_msg es : " . intl_get_error_message();
echo "\nError_code 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 "El formateador es estricto : ";
if ($fmt->isLenient()) {
echo 'Sí';
} else {
echo 'No';
}
$fmt->parse('35/13/1971');
echo "\n Intento de análisis de la fecha '35/13/1971'.\nEl resultado es : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0){
echo "\nError_msg es : " . intl_get_error_message();
echo "\nError_code es : " . intl_get_error_code();
}
$fmt->setLenient(FALSE);
echo 'Ahora el formateador es estricto : ';
if ($fmt->isLenient()) {
echo 'Sí';
} else {
echo 'No';
}
$fmt->parse('35/13/1971');
echo "\n Intento de análisis de la fecha '35/13/1971'.\nEl resultado es : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
echo "\nError_msg es : " . intl_get_error_message();
echo "\nError_code es : " . intl_get_error_code();
}
?>
El ejemplo anterior mostrará :
El formateador es estricto : Sí Intento de análisis de la fecha '35/13/1971'. El resultado es : 34503180 Ahora, el formateador es estricto : No Intento de análisis de la fecha '35/13/1971'. El resultado es : Error_msg es : Date parsing failed: U_PARSE_ERROR Error_code es : 9