PHPCon Poland 2024

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

public DateTimeZone::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ü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
        )

)

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top