CakeFest 2024: The Official CakePHP Conference

DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getTransitions -- timezone_transitions_getRetourne toutes les transitions d'un fuseau horaire

Description

Style orienté objet

public DateTimeZone::getTransitions(int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false

Style procédural

timezone_transitions_get(DateTimeZone $object, int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false

Liste de paramètres

object

Seulement en style procédural : un DateTimeZone objet retourné par timezone_open()

timestampBegin

Début du timestamp.

timestampEnd

Fin du timestamp.

Valeurs de retour

Retourne un tableau indexé numériquement des tableaux de transition en cas de succès, ou false si une erreur survient. Les objets DateTimeZone enveloppant des fuseaux de type 1 (décalage UTC) et type 2 (abréviations) ne contiennent pas des transitions et appelé cette méthode sur eux retournera false.

Si timestampBegin est fournit, la première entrée dans le tableau retourné contiendra un élément de transition au temps de timestampBegin.

Structure des tableaux de transition
Clé Type Description
ts int timestamp Unix
time string Chaîne de temps DateTimeInterface::ISO8601_EXPANDED (PHP 8.2 et ultérieur), ou DateTimeInterface::ISO8601 (PHP 8.1 et inférieur)
offset int Décalage horaire vers UTC en secondes
isdst bool Si l'heure d'été ext activée
abbr string Abréviation du fuseau horaire

Exemples

Exemple #1 Exemple avec timezone_transitions_get()

<?php
$timezone
= new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>

Résultat de l'exemple ci-dessus est similaire à :

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
        )

)

Exemple #2 Un exemple de timezone_transitions_get() avec timestampBegin défini

<?php
$timezone
= new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions(time());
print_r(array_slice($transitions, 0, 3));
?>

Résultat de l'exemple ci-dessus est similaire à :

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