ConFoo 2025

IntlDateFormatter::isLenient

datefmt_is_lenient

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

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

Descripción

Estilo orientado a objetos

public IntlDateFormatter::isLenient(): bool

Estilo por procedimientos

datefmt_is_lenient(IntlDateFormatter $fmt): bool

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top