(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::setTime — Define o horário do calendário em milissegundos desde a época de referência
Estilo orientado a objetos
Estilo procedural
Define o instante representado por este objeto. O instante é representado por um float cujo valor deve ser um número inteiro de milissegundos desde a época de referência (1 Jan 1970 00:00:00.000 UTC), ignorando segundos intercalares. Todos os valores de campo serão recalculados de acordo.
calendar
Uma instância de IntlCalendar.
timestamp
Um instante representado pelo número de milissegundos desde a época de referência, ignorando segundos intercalares.
Exemplo #1 IntlCalendar::setTime()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');
$cal = new IntlGregorianCalendar(2013, 5 /* maio */, 1, 12, 0, 0);
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
/* Em Lisboa, em 2013-10-27 at 0200, o relógio volta uma hora e
o fuso horário passa de UTC+01 para 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";
O exemplo acima produzirá:
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