(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::getTransitions -- timezone_transitions_get — Retourne toutes les transitions d'un fuseau horaire
Style orienté objet
$timestampBegin = PHP_INT_MIN , int $timestampEnd = 2147483647): array |false Style procédural
$object, int $timestampBegin = PHP_INT_MIN , int $timestampEnd = 2147483647): array |false
objectSeulement en style procédural : un DateTimeZone objet retourné par timezone_open()
timestampBeginDébut du timestamp.
timestampEndFin du timestamp.
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 de transitions et appeler
cette méthode sur eux retournera false .
Si timestampBegin est fourni, la première entrée
dans le tableau retourné contiendra un élément de transition au temps de
timestampBegin.
| 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 | Indique si l'heure d'été est active |
abbr |
string | Abréviation du fuseau horaire |
| Version | Description |
|---|---|
| 8.1.0 |
La valeur par défaut de timestampEnd a été changée
en 2147483647. Auparavant, c'était PHP_INT_MAX .
|
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] => -2147483648 [time] => 1901年12月13日T20:45:52+00:00 [offset] => -75 [isdst] => [abbr] => LMT ) [1] => Array ( [ts] => 442304971 [time] => 1847年12月01日T00:01:15+00:00 [offset] => 0 [isdst] => [abbr] => GMT ) [2] => Array ( [ts] => -1691964000 [time] => 1916年05月21日T02:00:00+00:00 [offset] => 3600 [isdst] => 1 [abbr] => BST ) )
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] => 1759058251 [time] => 2025年09月28日T11:17:31+00:00 [offset] => 3600 [isdst] => 1 [abbr] => BST ) [1] => Array ( [ts] => 1761440400 [time] => 2025年10月26日T01:00:00+00:00 [offset] => 0 [isdst] => [abbr] => GMT ) [2] => Array ( [ts] => 1774746000 [time] => 2026年03月29日T01:00:00+00:00 [offset] => 3600 [isdst] => 1 [abbr] => BST ) )