(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::setTime — Устанавливает календарное время в миллисекундах с начала эпохи Unix
Объектно-ориентированный стиль
Процедурный стиль
Устанавливает момент, представленный объектом. Момент представлен числом с плавающей точкой (float), значение которого должно быть целым числом миллисекунд, прошедших с начала эпохи Unix (1 января 1970 00:00:00.000 UTC), без учёта дополнительных секунд. Все значения полей будут соответственно пересчитаны.
calendar
Экземпляр класса IntlCalendar.
timestamp
Момент, представленный количеством миллисекунд между этим моментом и эпохой Unix, без учёта дополнительных секунд.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #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";
/* В Europe/Lisbon 27 октября 2013 года в 02:00 часы переводятся на один час назад,
а часовой пояс - с UTC+01 на 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";
Результат выполнения приведённого примера:
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