DateTimeZone::getTransitions

timezone_transitions_get

(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 function DateTimeZone::getTransitions(int $timestampBegin = PHP_INT_MIN , int $timestampEnd = 2147483647): array |false

Style procédural

function timezone_transitions_get (DateTimeZone $object, int $timestampBegin = PHP_INT_MIN , int $timestampEnd = 2147483647): 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 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.

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 Indique si l'heure d'été est active
abbr string Abréviation du fuseau horaire

Historique

Version Description
8.1.0 La valeur par défaut de timestampEnd a été changée en 2147483647. Auparavant, c'était PHP_INT_MAX .

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] => -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
 )
)

Found A Problem?

Learn How To Improve This Page • Submit a Pull Request • Report a Bug
+add a note

User Contributed Notes

There are no user contributed notes for this page.

AltStyle によって変換されたページ (->オリジナル) /