(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::inDaylightTime — Определяет, переходит ли время объекта на летнее время
Объектно-ориентированный стиль
Процедурный стиль
Определяет, использует ли представленный этим объектом экземпляр и часовой пояс этого объекта летнее время в данный момент.
calendar
Экземпляр IntlCalendar.
Возвращает true
, если дата указана в летнее время, в противном случае возвращает false
.
В случае возникновения ошибки также возвращается false
. Для обнаружения условий ошибки используйте intl_get_error_code() или настройте выбрасывание исключений в Intl.
Пример #1 Пример использования IntlCalendar::inDaylightTime()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
$cal = new IntlGregorianCalendar(2013, 6 /* Июль */, 1, 4, 56, 31);
var_dump($cal->inDaylightTime()); // true
$cal->set(IntlCalendar::FIELD_MONTH, 11 /* Декабрь */);
var_dump($cal->inDaylightTime()); // false
//DST end transition on 2013-10-27 at 0200 (время процессора назад на 1 час)
$cal = new IntlGregorianCalendar(2013, 9 /* Октябрь */, 27, 1, 30, 0);
var_dump($cal->inDaylightTime()); // false (по умолчанию WALLTIME_LAST)
$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1); // принудительный перерасчёт времени
var_dump($cal->inDaylightTime()); // true