# IntlDateFormatter::create

# datefmt_create

# IntlDateFormatter::__construct

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

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crear un formateador de fechas

### Descripción

Estilo orientado a objetos

public static IntlDateFormatter::create(
string `$locale`,
int `$datetype`,
int `$timetype`,
mixed `$timezone` = NULL,
mixed `$calendar` = NULL,
string `$pattern` = ""
): IntlDateFormatter

Estilo orientado a objetos (constructor)

public IntlDateFormatter::__construct(
string `$locale`,
int `$datetype`,
int `$timetype`,
mixed `$timezone` = NULL,
mixed `$calendar` = NULL,
string `$pattern` = ""
)

Estilo por procedimientos

datefmt_create(
string `$locale`,
int `$datetype`,
int `$timetype`,
mixed `$timezone` = NULL,
mixed `$calendar` = NULL,
string `$pattern` = ""
): IntlDateFormatter

Crear un formateador de fechas.

### Parámetros

`locale`

  Configuración regional a usar al formatear o procesar, o `null` para usar el valor especificado en el ajuste ini intl.default_locale.

`datetype`

  Tipo de fecha a usar (`none`, `short`, `medium`, `long`, `full`). Es una de las contantes de IntlDateFormatter. También puede ser `null`, en cuyo caso se usará el tipo de fecha predeterminado de ICU.

`timetype`

  Tipo de hora a usar (`none`, `short`, `medium`, `long`, `full`). Es una de las contantes de IntlDateFormatter. También puede ser `null`, en cuyo caso se usará el tipo de hora predeterminado de ICU.

`timezone`

  ID de la zona horaria. El predeterminado (y el usado si se proporciona `null`) es el devuelto por date_default_timezone_get() o, si es aplicable, aquel del objeto IntlCalendar pasado al parámetro `calendar`. Este ID debe ser un identificador válido en la base de datos de ICU o un ID que represente un índice explícito, como `GMT-05:30`.

  También puede ser un objeto IntlTimeZone o DateTimeZone.

`calendar`

  Calendario a usar al formatear o procesar. El valor predeteminado es `null`, el cual corresponde a `IntlDateFormatter::GREGORIAN`. También puede ser una de las constantes de calendario de IntlDateFormatter o un IntlCalendar. Cualquier objeto IntlCalendar pasado será clonado; no será cambiado por IntlDateFormatter. Esto determinará el tipo de calendario usado (gregoriano, islámico, persa, etc.) y, si se proporciona `null` al parámetro `timezone`, también la zona horaria usada.

`pattern`

  Patrón opcional a usar al formatear o procesar. Los posibles patrones están documentados en » https://unicode-org.github.io/icu/userguide/format_parse/datetime/.

### Valores devueltos

El IntlDateFormatter creado o `false` en caso de error.

### Historial de cambios

Versión | Descripción
--- | ---
5.5.0/PECL 3.0.0 | Se permite un objeto IntlCalendar para `calendar`. Los objetos de tipo IntlTimeZone y DateTimeZone están permitidos para `timezone`. Los identificadores de zonas horarias válidos (incluyendo string vacíos) ya no están permitidos para `timezone`. Si se proporciona `null` a `timezone`, el identificador de la zona horaria dado por date_default_timezone_get() se usará en lugar del predeterminado de ICU.

### 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( "de-DE" ,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( "de-DE" ,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 Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
    La primera salida formateada con patrón es 12/31/1969
    La segunda salida formateada con patrón es 12/31/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