(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 = nullEstilo orientado a objetos (constructor)
$locale,$dateType = IntlDateFormatter::FULL,$timeType = IntlDateFormatter::FULL,$timezone = null,$calendar = null,$pattern = nullEstilo procedimental
$locale,$dateType = IntlDateFormatter::FULL,$timeType = IntlDateFormatter::FULL,$timezone = null,$calendar = null,$pattern = nullCrea 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.
patternEl 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 ejemplo anterior mostrará :
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