(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crear un formateador de fechas
Estilo orientado a objetos
$locale
   , int $datetype
   , int $timetype
   [, mixed $timezone = NULL
   [, mixed $calendar = NULL
   [, string $pattern = ""
  ]]] ) : IntlDateFormatterEstilo orientado a objetos (constructor)
$locale
   , int $datetype
   , int $timetype
   [, mixed $timezone = NULL
   [, mixed $calendar = NULL
   [, string $pattern = ""
  ]]] )Estilo por procedimientos
$locale
   , int $datetype
   , int $timetype
   [, mixed $timezone = NULL
   [, mixed $calendar = NULL
   [, string $pattern = ""
  ]]] ) : IntlDateFormatterCrear un formateador de fechas.
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.
      
patternPatrón opcional a usar al formatear o procesar. Los posibles patrones están documentados en » http://userguide.icu-project.org/formatparse/datetime.
   El IntlDateFormatter creado o FALSE en caso de
   error.
  
| Versión | Descripción | 
|---|---|
| 5.5.0/PECL 3.0.0 | 
         Se permite un objeto IntlCalendar para
          
         Los objetos de tipo IntlTimeZone y
         DateTimeZone están permitidos para
          
         Los identificadores de zonas horarias válidos (incluyendo string vacíos) ya no están
         permitidos para  
         Si se proporciona  | 
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