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
$timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|falseProcedural style
$object, int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|falseParameters
- 
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.
  
| Key | Type | Description | 
|---|---|---|
| ts | int | Unix timestamp | 
| time | string | DateTimeInterface::ISO8601_EXPANDED(PHP
       8.2 and later), orDateTimeInterface::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] => -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
        )
)
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] => 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
        )
)
 
                     
                     
                     
                     
                    
 
          