(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|false
object
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 ) )