(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
$object
, mixed$format
= NULL, string$locale
= NULL): stringEstilo por procedimientos
Esta función permite formatear un objeto IntlCalendar o DateTime sin crear primero explícitamente un objeto IntlDateFormatter.
El objeto IntlDateFormatter temporal que se creará tomará la zona horaria del objeto pasado. La base de datos de zonas horarias incluida con PHP no se usara; se usará en su lugar la de ICU. El identificador de zona horaria usado en objetos DateTime debe, por lo tanto, existir también en la base de datos de ICU.
object
Un objeto de tipo IntlCalendar o DateTime. Se usrará la información de la zona horaria del objeto.
format
Cómo formatear la fecha/hora. Puede ser un array con dos elementos (el primero el estilo de fecha, y luego el estilo de la hora, siendo ambos una de las constantes IntlDateFormatter::NONE
, IntlDateFormatter::SHORT
, IntlDateFormatter::MEDIUM
, IntlDateFormatter::LONG
, IntlDateFormatter::FULL
), un long con el valor de una de estas constantes (en cuyo caso se usará tanto para la hora como para la fecha) o un string con el formato descrito en » la documentación de ICU. Si es null
, se utilizará el estilo predeterminado.
locale
La configuración regional a usar, o null
para usar la predeterminada.
Un string con resultados o false
en caso de error.
Ejemplo #1 Ejemplos de IntlDateFormatter::formatObject()
<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'fr_FR');
$cal = IntlCalendar::fromDateTime("2013-06-06 17:05:06 Europe/Dublin");
echo "predeterminado:\n\t",
IntlDateFormatter::formatObject($cal),
"\n";
echo "long \$format (full):\n\t",
IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL),
"\n";
echo "array \$format (none, full):\n\t",
IntlDateFormatter::formatObject($cal, array(
IntlDateFormatter::NONE,
IntlDateFormatter::FULL)),
"\n";
echo "string \$format (d 'of' MMMM y):\n\t",
IntlDateFormatter::formatObject($cal, "d 'of' 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:
predeterminado: 6 juin 2013 17:05:06 long $format (full): jeudi 6 juin 2013 17:05:06 heure d’été irlandaise array $format (none, full): 17:05:06 heure d’été irlandaise string $format (d 'of' MMMM y): 6 of June 2013 con DateTime: lunes, 9 de septiembre de 2013 09:09:09 Hora de verano de Europa central