(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
objectNur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTimeZone-Objekt.
timestampBeginDer Zeitstempel des Beginns
timestampEndDer 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
)
)