(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crea un formateador de fecha
Estilo orientado a objetos
$locale
,$dateType
= IntlDateFormatter::FULL,$timeType
= IntlDateFormatter::FULL,$timezone
= null
,$calendar
= null
,$pattern
= null
Estilo orientado a objetos (constructor)
$locale
,$dateType
= IntlDateFormatter::FULL,$timeType
= IntlDateFormatter::FULL,$timezone
= null
,$calendar
= null
,$pattern
= null
Estilo por procedimientos
$locale
,$dateType
= IntlDateFormatter::FULL,$timeType
= IntlDateFormatter::FULL,$timezone
= null
,$calendar
= null
,$pattern
= null
Crea un formateador de fecha.
locale
La configuración local a utilizar para formatear y analizar o null
para utilizar el valor especificado en la configuración ini intl.default_locale.
dateType
El tipo de fecha a utilizar (none
,
short
, medium
,
long
, full
).
Es una de las
constantes IntlDateFormatter.
timeType
Formato de hora determinado por una de las
constantes de IntlDateFormatter.
El valor por omisión es IntlDateFormatter::FULL
.
timezone
El identificador de la zona horaria. Por omisión, (esto también será el valor
por omisión que se utilizará si se proporciona null
) será el devuelto
por la función date_default_timezone_get() o, si es aplicable,
el de objeto IntlCalendar pasado al argumento
calendar
. Este identificador debe ser un identificador
válido en la base de datos ICU, o un identificador que represente
una zona horaria explícita, como GMT-05:30
.
Este argumento también puede ser un objeto IntlTimeZone o un objeto DateTimeZone.
calendar
Calendario a utilizar para el formato o el análisis. El valor
por omisión es null
, lo que corresponde a la constante
IntlDateFormatter::GREGORIAN
. Puede ser una
de las constantes
de calendario IntlDateFormatter o un IntlCalendar.
Cualquier objeto IntlCalendar pasado será clonado; no
será modificado por IntlDateFormatter.
Determinará el tipo de calendario utilizado (gregoriano, islámico, persa, etc.)
y si null
es proporcionado en el argumento timezone
,
la zona horaria también será utilizada.
pattern
El patrón a utilizar para el formato o el análisis. Los patrones disponibles están documentados en » https://unicode-org.github.io/icu/userguide/format_parse/datetime/.
El objeto IntlDateFormatter creado, o null
si ocurre un error.
Se lanza una ValueError si
locale
es inválido.
Versión | Descripción |
---|---|
8.4.0 |
Se lanza una ValueError si
locale es inválido.
|
8.1.0 |
Los argumentos |
Ejemplo #1 Ejemplo con datefmt_create(), procedimental
<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "El primer formato mostrado es ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "El segundo formato mostrado es ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "El primer formato se muestra con el patrón: ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "El segundo formato se muestra con el patrón: ".datefmt_format( $fmt , 0);
?>
Ejemplo #2 Ejemplo con datefmt_create(), POO
<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "El primer formato mostrado es ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "El segundo formato mostrado es ".$fmt->format(0);
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "El primer formato se muestra con el patrón: ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "El segundo formato se muestra con el patrón: ".$fmt->format(0);
?>
Ejemplo #3 Ejemplo de manejo de configuración local inválida
<?php
try {
$fmt = new IntlDateFormatter(
'locale_invalido',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'je_ne_sais_pas',
IntlDateFormatter::GREGORIAN,
);
} catch (\Error $e) {
// ...
}
?>
El resultado del ejemplo sería:
El primer formato mostrado es Wednesday, December 31, 1969 4:00:00 PM PT El segundo formato mostrado es Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00 El primer formato se muestra con el patrón: 12/31/1969 El segundo formato se muestra con el patrón: 12/31/1969