Documentación offline PHP master

IntlDateFormatter::create

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

Crea un formateador de fecha

Descripción#

Estilo orientado a objetos

public static IntlDateFormatter::create(string $locale, [int $dateType], [int $timeType], [IntlTimeZone $timezone], [IntlCalendar $calendar], [string $pattern]): IntlDateFormatter
```php

Estilo orientado a objetos (constructor)

```php
public IntlDateFormatter::__construct(string $locale, [int $dateType], [int $timeType], [IntlTimeZone $timezone], [IntlCalendar $calendar], [string $pattern])

Estilo procedimental

datefmt_create(string $locale, [int $dateType], [int $timeType], [IntlTimeZone $timezone], [IntlCalendar $calendar], [string $pattern]): IntlDateFormatter
```php

Crea un formateador de fecha.

## Parámetros

`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](#ini.intl.default-locale).

`dateType`  
El tipo de fecha a utilizar (`none`, `short`, `medium`, `long`, `full`). Es una de las [constantes IntlDateFormatter](#intl.intldateformatter-constants).

`timeType`  
Formato de hora determinado por una de las [constantes de IntlDateFormatter](#intl.intldateformatter-constants). 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](#intl.intldateformatter-constants.calendartypes) 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/>.

## Valores devueltos

El objeto `IntlDateFormatter` creado, o `null` si ocurre un error.

## Errores/Excepciones

Se lanza una ValueError si `locale` es inválido.

## Historial de cambios

| Versión | Descripción                                                  |
|---------|--------------------------------------------------------------|
| 8.4.0   | Se lanza una ValueError si `locale` es inválido.             |
| 8.1.0   | Los argumentos `dateType` y `timeType` ahora son opcionales. |

## Ejemplos

Ejemplo con `datefmt_create`, procedimental
Ejemplo con `datefmt_create`, POO
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 de manejo de configuración local inválida

```php

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

Véase también#

datefmt_format, datefmt_parse, datefmt_get_error_code, datefmt_get_error_message