(PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
IntlDateFormatter::formatObject -- datefmt_format_object — Formatea un objeto
Estilo orientado a objetos
$object
[, mixed $format
= NULL
[, string $locale
= NULL
]] )Estilo por procedimientos
$object
[, mixed $format
= NULL
[, string $locale
= NULL
]] )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
/* la zona horaria predeterminada es irrelevante; se toma del objeto */
ini_set('date.timezone', 'UTC');
/* la configuración regional predeterminada se toma de este ajuste ini */
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