DateTimeZone::getTransitions

timezone_transitions_get

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

DateTimeZone::getTransitions -- timezone_transitions_getLiefert alle Übergänge einer Zeitzone

Beschreibung

Objektorientierter Stil

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

Prozeduraler Stil

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

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTimeZone-Objekt.

timestampBegin

Der Zeitstempel des Beginns

timestampEnd

Der Zeitstempel des Endes

Rückgabewerte

Gibt bei Erfolg ein numerisch indiziertes Array von Übergangs-Arrays zurück. Bei einem Fehler wird false zurückgegeben. DateTimeZone-Objekte des Typs 1 (UTC-Offsets) und des Typs 2 (Abkürzungen) enthalten keine Übergänge und der Aufruf dieser Methode für sie gibt false zurück.

Wenn timestampBegin angegeben wird, enthält der erste Eintrag im zurückgegebenen Array Informationen über den Übergang zum Zeitpunkt timestampBegin.

Array-Struktur der Übergänge
SchlüsselTypBeschreibung
tsintUnix-Zeitstempel
timestringZeichenkette im Format DateTimeInterface::ISO8601_EXPANDED (ab PHP 8.2) oder DateTimeInterface::ISO8601 (bis einschließlich PHP 8.1)
offsetintAbweichung von der UTC in Sekunden
isdstboolGibt an, ob es eine Sommerzeit gibt
abbrstringKurzbezeichnung der Zeitzone

Beispiele

Beispiel #1 timezone_transitions_get()-Beispiel

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

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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

Beispiel #2 timezone_transitions_get()-Beispiel mit gesetztem timestampBegin

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

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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