DateTimeZone::getTransitions
timezone_transitions_get
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::getTransitions -- timezone_transitions_get — Returns all transitions for the timezone
Description
Object-oriented style
Parameters
-
object Procedural style only: A DateTimeZone object
returned by timezone_open()
timestampBegin
-
Begin timestamp.
timestampEnd
-
End timestamp.
Return Values
Returns a numerically indexed array of
transition arrays on success, or false on failure. DateTimeZone
objects wrapping type 1 (UTC offsets) and type 2 (abbreviations) do not
contain any transitions, and calling this method on them will return
false.
If timestampBegin is given, the first entry in the
returned array will contain a transition element at the time of
timestampBegin.
Examples
Example #1 A timezone_transitions_get() example
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>
The above example will output
something similar to:
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
)
)
Example #2 A timezone_transitions_get() example with
timestampBegin set
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions(time());
print_r(array_slice($transitions, 0, 3));
?>
The above example will output
something similar to:
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
)
)