PHP 8.5.0 RC4 available for testing

DateTimeZone::getTransitions

timezone_transitions_get

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

DateTimeZone::getTransitions -- timezone_transitions_getReturns all transitions for the timezone

Description

Object-oriented style

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

Procedural style

timezone_transitions_get (DateTimeZone $object, int $timestampBegin = PHP_INT_MIN , int $timestampEnd = PHP_INT_MAX ): array |false

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.

Transition Array Structure
Key Type Description
ts int Unix timestamp
time string DateTimeInterface::ISO8601_EXPANDED (PHP 8.2 and later), or DateTimeInterface::ISO8601 (PHP 8.1 and lower) time string
offset int Offset to UTC in seconds
isdst bool Whether daylight saving time is active
abbr string Timezone abbreviation

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月13日T20:45:52+00:00
 [offset] => -75
 [isdst] =>
 [abbr] => LMT
 )
 [1] => Array
 (
 [ts] => 442304971
 [time] => 1847年12月01日T00:01:15+00:00
 [offset] => 0
 [isdst] =>
 [abbr] => GMT
 )
 [2] => Array
 (
 [ts] => -1691964000
 [time] => 1916年05月21日T02: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月28日T11:17:31+00:00
 [offset] => 3600
 [isdst] => 1
 [abbr] => BST
 )
 [1] => Array
 (
 [ts] => 1761440400
 [time] => 2025年10月26日T01:00:00+00:00
 [offset] => 0
 [isdst] => 
 [abbr] => GMT
 )
 [2] => Array
 (
 [ts] => 1774746000
 [time] => 2026年03月29日T01:00:00+00:00
 [offset] => 3600
 [isdst] => 1
 [abbr] => BST
 )
)

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes

There are no user contributed notes for this page.

AltStyle によって変換されたページ (->オリジナル) /