(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::getTransitions -- timezone_transitions_get — Liefert alle Übergänge einer Zeitzone
Objektorientierter Stil
$timestampBegin
= PHP_INT_MIN
, int$timestampEnd
= PHP_INT_MAX
): array|falseProzeduraler Stil
$object
, int$timestampBegin
= PHP_INT_MIN
, int$timestampEnd
= PHP_INT_MAX
): array|falseobject
Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTimeZone-Objekt.
timestampBegin
Der Zeitstempel des Beginns
timestampEnd
Der Zeitstempel des Endes
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
.
Schlüssel | Typ | Beschreibung |
---|---|---|
ts | int | Unix-Zeitstempel |
time | string | Zeichenkette im Format DateTimeInterface::ISO8601_EXPANDED (ab PHP 8.2) oder DateTimeInterface::ISO8601 (bis einschließlich PHP 8.1) |
offset | int | Abweichung von der UTC in Sekunden |
isdst | bool | Gibt an, ob es eine Sommerzeit gibt |
abbr | string | Kurzbezeichnung der Zeitzone |
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 ) )