(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)
IntlCalendar::setTime — Establecer el momento del calendario en milisegundos desde la época
Estilo orientado a objetos
$date
) : boolEstilo por procedimientos
Establece el instante representado por este objeto. El instante está representado por un valor de tipo float que debería ser un número entero de milisegundos desde la época (1 Jan 1970 00:00:00.000 UTC), ignorando los segundos intercalares. seconds. Todos los valores de los campos se recalcularán en consecuencia.
cal
El recurso IntlCalendar.
date
Un instante representado por el número de milisegundos entre dicho instante y la época, ignorando los segundos intercalares.
Devuelve TRUE
en caso de éxito y FALSE
en caso de error.
Ejemplo #1 IntlCalendar::setTime()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');
$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
/* En Europe/Lisbon, el 2013-10-27 a las 0200, el reloj se atrasa una hora
y la zona horaria cambia de UTC+01 a UTC+00 */
$cal->setTime(strtotime('2013-10-27 00:30:00 UTC') * 1000.);
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
$cal->setTime(strtotime('2013-10-27 01:30:00 UTC') * 1000.);
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
El resultado del ejemplo sería:
samedi 1 juin 2013 12:00:00 heure avancée d’Europe de l’Ouest dimanche 27 octobre 2013 01:30:00 heure avancée d’Europe de l’Ouest dimanche 27 octobre 2013 01:30:00 heure normale d’Europe de l’Ouest