(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)
IntlDateFormatter::formatObject -- datefmt_format_object — Formatea un objeto
Estilo orientado a objetos
$datetime, array|int|string|null $format = null, ?string $locale = null): string|falseEstilo procedimental
$datetime, array|int|string|null $format = null, ?string $locale = null): string|falseEsta función permite el formato de un objeto IntlCalendar o de un objeto DateTime sin haber creado previamente un objeto IntlDateFormatter.
El objeto IntlDateFormatter temporal creado tomará el desplazamiento horario desde el objeto pasado. La base de datos de desplazamientos horarios interna a PHP no será utilizada - ICU será utilizado en su lugar. El identificador de desplazamiento horario utilizado en los objetos DateTime debe existir también en la base de datos ICU.
datetimeUn objeto de tipo IntlCalendar o de tipo DateTime. La información de desplazamiento horario en el objeto será utilizada.
format
Formato de la fecha/hora. Puede ser un array con dos elementos (primero
el estilo de la fecha, luego el estilo de la hora, utilizando una de las constantes
siguientes: IntlDateFormatter::NONE,
IntlDateFormatter::SHORT,
IntlDateFormatter::MEDIUM,
IntlDateFormatter::LONG,
IntlDateFormatter::FULL), un tipo int
con el valor de una de estas constantes (en cuyo caso, será utilizado
tanto para la fecha como para la hora), o un tipo string
con el formato descrito en la » documentación
ICU. Si null es proporcionado, el estilo por defecto será utilizado.
locale
La configuración local a utilizar, o null para utilizar la configuración local por defecto.
Una cadena de caracteres que contiene el resultado o false si ocurre un error.
Ejemplo #1 Ejemplo con IntlDateFormatter::formatObject()
<?php
/* El desplazamiento horario por defecto no es significativo;
se toma desde el objeto */
ini_set('date.timezone', 'UTC');
/* La configuración local por defecto se toma desde la configuración ini */
ini_set('intl.default_locale', 'fr_FR');
$cal = IntlCalendar::fromDateTime("2013-06-06 17:05:06 Europe/Dublin");
echo "défault :\n\t",
IntlDateFormatter::formatObject($cal),
"\n";
echo "long \$format (complet) :\n\t",
IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL),
"\n";
echo "array \$format (ninguno, complet) :\n\t",
IntlDateFormatter::formatObject($cal, array(
IntlDateFormatter::NONE,
IntlDateFormatter::FULL)),
"\n";
echo "string \$format (d 'de' MMMM y):\n\t",
IntlDateFormatter::formatObject($cal, "d 'de' MMMM y", 'en_US'),
"\n";
echo "con DateTime :\n\t",
IntlDateFormatter::formatObject(
new DateTime("2013-09-09 09:09:09 Europe/Madrid"),
IntlDateFormatter::FULL,
'es_ES'),
"\n";El ejemplo anterior mostrará :
défault :
6 junio 2013 17:05:06
long $format (complet):
jueves 6 junio 2013 17:05:06 hora de verano irlandesa
array $format (ninguno, complet):
17:05:06 hora de verano irlandesa
string $format (d 'de' MMMM y):
6 de June 2013
con DateTime :
lunes, 9 de septiembre de 2013 09:09:09 Hora de verano de Europa central