(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 por procedimientos
$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.
datetime
Un 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
en caso de 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 resultado del ejemplo sería:
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