(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::getTransitions -- timezone_transitions_get — Retourne 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
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
)
)