update page now
Laravel Live Japan

DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getTransitions -- timezone_transitions_getВозвращает информацию о переходах времени для часового пояса

Описание

Объектно-ориентированный стиль

public DateTimeZone::getTransitions(int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false

Процедурный стиль

timezone_transitions_get(DateTimeZone $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] => -2147483648
            [time] => 1901-12-13T20:45:52+00:00
            [offset] => -75
            [isdst] =>
            [abbr] => LMT
        )

    [1] => Array
        (
            [ts] => 442304971
            [time] => 1847-12-01T00:01:15+00:00
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

    [2] => Array
        (
            [ts] => -1691964000
            [time] => 1916-05-21T02:00:00+00:00
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

)

Пример #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] => 1759058251
            [time] => 2025-09-28T11:17:31+00:00
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [1] => Array
        (
            [ts] => 1761440400
            [time] => 2025-10-26T01:00:00+00:00
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

    [2] => Array
        (
            [ts] => 1774746000
            [time] => 2026-03-29T01:00:00+00:00
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

)

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top