(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
= PHP_INT_MAX
): array|falseStyle procédural
$object
, int $timestampBegin
= PHP_INT_MIN
, int $timestampEnd
= PHP_INT_MAX
): array|false
object
Seulement en style procédural : un DateTimeZone objet retourné par timezone_open()
timestampBegin
Début du timestamp.
timestampEnd
Fin 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 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
.
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 |
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 ) )