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

publicDateTimeZone::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éTypeDescription
tsinttimestamp Unix
timestringChaîne de temps DateTimeInterface::ISO8601_EXPANDED (PHP 8.2 et ultérieur), ou DateTimeInterface::ISO8601 (PHP 8.1 et inférieur)
offsetintDécalage horaire vers UTC en secondes
isdstboolSi l'heure d'été ext activée
abbrstringAbré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 ) )
To Top