PHP Conference Japan 2024

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

僅限程序式風格:一個由 timezone_open() 返回的 DateTimeZone 物件

timestampBegin

起始時間戳記。

timestampEnd

結束時間戳記。

返回值

成功時返回一個以數字索引的轉換陣列,失敗時返回 false。包裝類型 1(UTC 偏移量)和類型 2(縮寫)的 DateTimeZone 物件不包含任何轉換,對其調用此方法將返回 false

如果給定了 timestampBegin,則返回陣列中的第一個條目將包含 timestampBegin 時間的轉換元素。

轉換陣列結構
鍵值 類型 說明
ts int Unix 時間戳記
time string DateTimeInterface::ISO8601_EXPANDED (PHP 8.2 及更高版本),或 DateTimeInterface::ISO8601 (PHP 8.1 及更低版本) 時間字串
offset int int
UTC 偏移量(以秒為單位) isdst bool
日光節約時間是否啟用 string abbr

string

時區縮寫

範例
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
        )

)

<?php
$timezone
= new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>

<?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
        )

)

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top