DateTimeZone::getTransitions
timezone_transitions_get
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::getTransitions -- timezone_transitions_get — Liefert alle Übergänge einer Zeitzone
Beschreibung
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|falseParameter-Liste
-
object
-
Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebens 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
.
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 |
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 ) )