(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::getTransitions -- timezone_transitions_get — Возвращает все переходы для часового пояса
Объектно-ориентированный стиль
$timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|falseПроцедурный стиль
$object, int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false
objectТолько для процедурного стиля: объект DateTimeZone, который возвращает функция timezone_open().
timestampBeginНачальная метка времени.
timestampEndКонечная метка времени.
   В случае успешного выполнения возвращает численно индексированный массив массивов со всеми переходами или false, если возникла ошибка.
   Объекты DateTimeZone, оборачивающие тип 1 (смещения UTC) и тип 2 (сокращения), не содержат переходов и вызов этого метода в таком случае вернёт false.
  
   Если задан параметр timestampBegin, то первая запись в возвращаемом массиве будет содержать элемент перехода на момент параметра timestampBegin.
  
| Ключ | Тип | Описание | 
|---|---|---|
| ts | int | Метка времени Unix | 
| time | string | DateTimeInterface::ISO8601_EXPANDED(PHP 8.2 и более поздние версии)
        илиDateTimeInterface::ISO8601(PHP 8.1 и более ранние версии) строка времени | 
| offset | int | Смещение от UTC в секундах | 
| isdst | bool | Активно ли летнее время | 
| abbr | string | Аббревиатура часового пояса | 
Пример #1 Пример использования timezone_transitions_get()
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>Вывод приведённого примера будет похож на:
Array
(
    [0] => Array
        (
            [ts] => -9223372036854775808
            [time] => -292277022657-01-27T08:29:52+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )
    [1] => Array
        (
            [ts] => -1691964000
            [time] => 1916-05-21T02:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )
    [2] => Array
        (
            [ts] => -1680472800
            [time] => 1916-10-01T02:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )
)
Пример #2 Пример использования timezone_transitions_get() с заданным параметром timestampBegin
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions(time());
print_r(array_slice($transitions, 0, 3));
?>Вывод приведённого примера будет похож на:
Array
(
    [0] => Array
        (
            [ts] => 1654184161
            [time] => 2022-06-02T15:36:01+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )
    [1] => Array
        (
            [ts] => 1667091600
            [time] => 2022-10-30T01:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )
    [2] => Array
        (
            [ts] => 1679792400
            [time] => 2023-03-26T01:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )
)
