Documentation says "timezone: Time zone ID, default is system default."
The "system default" really means only the "TZ" environment variable on Unix/Linux systems. It does not mean PHP ini setting or value set via date_default_timezone_set() or the OS default time zone in file "/etc/timezone".
IntlDateFormatter::create
datefmt_create
IntlDateFormatter::__construct
(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crear un formateador de fechas
Descripción
Estilo orientado a objetos
$locale
, int $datetype
, int $timetype
[, string $timezone
[, int $calendar
[, string $pattern
]]] )Estilo orientado a objetos (constructor)
$locale
, int $datetype
, int $timetype
[, string $timezone
[, int $calendar
[, string $pattern
]]] )Estilo por procedimientos
$locale
, int $datetype
, int $timetype
[, string $timezone
[, int $calendar
[, string $pattern
]]] )Crear un formateador de fechas
Parámetros
-
locale -
Configuración regional a usar al formatear o procesar.
-
datetype -
Tipo de fecha a usar (
none,short,medium,long,full). Esto es una de las contantes de IntlDateFormatter. -
timetype -
Tipo de hora a usar (
none,short,medium,long,full). Esto es una de las contantes de IntlDateFormatter. -
timezone -
ID de la zona horaria, por defecto es la hora predeterminada del sistema.
-
calendar -
Calendario a usar al formatear o procesar; el predeterminado es el gregoriano. Esto es una de las contantes de calendario de IntlDateFormatter.
-
pattern -
Patrón opcional a usar al formatear o procesar. Los posibles patrones están documentados en » http://userguide.icu-project.org/formatparse/datetime.
Valores devueltos
Ejemplos
Ejemplo #1 Ejemplo de datefmt_create()
<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "La primera salida formateada es ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "es-ES", IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "La segunda salida formateada es ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "La primera salida formateada con patrón es ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "es-ES", IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/MM/yyyy");
echo "La segunda salida formateada con patrón es ".datefmt_format( $fmt , 0);
?>
Ejemplo #2 Ejemplo orientado a objetos
<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN );
echo "La primera salida formateada es ".$fmt->format(0);
$fmt = new IntlDateFormatter( "es-ES", IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles', IntlDateFormatter::GREGORIAN );
echo "La segunda salida formateada es ".$fmt->format(0);
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles',IntlDateFormatter::GREGORIAN ,"MM/dd/yyyy");
echo "La primera salida formateada con patrón es ".$fmt->format(0);
$fmt = new IntlDateFormatter( "es-ES", IntlDateFormatter::FULL, IntlDateFormatter::FULL,
'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/MM/yyyy");
echo "La segunda salida formateada con patrón es ".$fmt->format(0);
?>
El resultado del ejemplo sería:
La primera salida formateada es Wednesday, December 31, 1969 4:00:00 PM PT
La segunda salida formateada es miércoles 31 de diciembre de 1969 16H00'00" PST
La primera salida formateada con patrón es 12/31/1969
La segunda salida formateada con patrón es 31/12/1969
Ver también
- datefmt_format() - Formatear el valor fecha/hora como una cadena
- datefmt_parse() - Convertir una cadena en un valor de marca de tiempo
- datefmt_get_error_code() - Obtener el código del error de la última operación
- datefmt_get_error_message() - Obtener el texto del error de la última operación
It should be noted that the locale string passed into IntlDateFormatter's constructor supports UCA keywords. So you can, for example, do things like this to output the year as a Japanese era year:
<?php
$now = new DateTime(); //DateTime is a core PHP class as of version 5.2.0
$formatter = new IntlDateFormatter('ja_JP', IntlDateFormatter::FULL,
IntlDateFormatter::FULL, 'Asia/Tokyo', IntlDateFormatter::GREGORIAN);
echo 'It is now: "' . $formatter->format($now) . '" in Tokyo' . "\n";
//above gives [It is now: "2011年8月19日金曜日 23時32分27秒JST" in Tokyo]
$formatter = new IntlDateFormatter('ja_JP@calendar=japanese', IntlDateFormatter::FULL,
IntlDateFormatter::FULL, 'Asia/Tokyo', IntlDateFormatter::TRADITIONAL);
echo 'It is now: "' . $formatter->format($now) . '" in Tokyo' . "\n";
//above gives [It is now: "平成23年8月19日金曜日 23時32分27秒JST" in Tokyo]
?>
