(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僅限程序式風格:一個由 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 |
時區縮寫
範例範例 #1 timezone_transitions_get() 範例
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));
?>範例 #1 timezone_transitions_get() 範例
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
)
)