IntlDateFormatter::format

datefmt_format

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

IntlDateFormatter::format -- datefmt_formatFormatear el valor fecha/hora como una cadena

Descripción

Estilo orientado a objetos

publicIntlDateFormatter::format(mixed$value): string

Estilo por procedimientos

datefmt_format(IntlDateFormatter$fmt, mixed$value): string

Formatea el valor del instante como una cadena.

Parámetros

fmt

El recurso del formateador de fechas.

value

El valor a formatear. Puede ser un objeto DateTime, un objeto IntlCalendar, un tipo numeric que representa un número (posiblemente fraccionario) de segundos desde la época o un array en el formato generado por localtime().

Si se proporciona un objeto DateTime o IntlCalendar, su zona horaria no se considera. El objeto será formateado usando la zona horaria configurada del formateador. Si se quiere usar la zona horaria del objeto a formatear, IntlDateFormatter::setTimeZone() debe ser invocado antes con la zona horaria del objeto. Alternativamente, la función estática IntlDateFormatter::formatObject() podría usarse en su lugar.

Valores devueltos

La cadena formateada o, si ocurrión un error, false.

Historial de cambios

VersiónDescripción
5.5.0/PECL 3.0.0 Se añadió el soporta para proporcionar objetos IntlCalendar al parámetro value.
5.3.4 Se añadió el soporte para proporcionar objetos de la clase DateTime al parámetro value.

Ejemplos

Ejemplo #1 Ejemplo de datefmt_format()

<?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(
'de-DE',
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(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'MM/dd/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,
'MM/dd/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

Ejemplo #3 Con un objeto IntlCalendar

<?php
$tz
= reset(iterator_to_array(IntlTimeZone::createEnumeration('FR')));
$formatter = IntlDateFormatter::create(
'fr_FR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
$tz,
IntlDateFormatter::GREGORIAN
);

$cal = IntlCalendar::createInstance($tz, '@calendar=islamic-civil');
$cal->set(IntlCalendar::FIELD_MONTH, 8); //9th month, Ramadan
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 1); //1st day
$cal->clear(IntlCalendar::FIELD_HOUR_OF_DAY);
$cal->clear(IntlCalendar::FIELD_MINUTE);
$cal->clear(IntlCalendar::FIELD_SECOND);
$cal->clear(IntlCalendar::FIELD_MILLISECOND);

echo
"En este año islámico, el Ramadan empezó/empezará el:\n\t",
$formatter->format($cal), "\n";

//Es la zona hiraria del formateador la que se usa:
$formatter->setTimeZone('Asia/Tokyo');
echo
"Después de cambiar la zona horaria:\n\t",
$formatter->format($cal), "\n";

El resultado del ejemplo sería:

En este año islámico, el Ramadan empezó/empezará el: mardi 9 juillet 2013 19:00:00 heure avancée d’Europe centrale Después de cambiar la zona horaria: mercredi 10 juillet 2013 02:00:00 heure normale du Japon

Ver también

To Top