IntlDateFormatter::formatObject
datefmt_format_object
(PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
IntlDateFormatter::formatObject -- datefmt_format_object — Formatea un objeto
Descripción
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.
Parámetros
-
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 esNULL, se utilizará el estilo predeterminado. -
locale -
La configuración regional a usar, o
NULLpara usar la predeterminada.
Valores devueltos
Un string con resultados o FALSE en caso de error.
Ejemplos
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