Ce face timezone_transitions_get
Forma de funcție a metodei DateTimeZone::getTransitions(). Fiecare element are cheile ts (timestamp-ul), time (ora UTC), offset (noul decalaj în secunde), isdst (ora de vară) și abbr (abrevierea, de exemplu EEST).
Primul element descrie starea de la începutul intervalului, iar următoarele sunt schimbările din interval.
Parametri
| Parametru | Descriere |
|---|---|
$object |
Fusul orar. |
$timestampBegin |
Opțional. Începutul intervalului. |
$timestampEnd |
Opțional. Sfârșitul intervalului. |
Ce returnează
Un tablou cu trecerile, sau false la eroare.
Exemple
Exemplul 1: Schimbările de oră din 2026 în România
Orele afișate sunt cele locale de imediat după schimbare: în martie, ora 03:00 devine 04:00; în octombrie, ora 04:00 devine 03:00.
<?php
$tz = timezone_open("Europe/Bucharest");
$treceri = timezone_transitions_get($tz, gmmktime(0, 0, 0, 1, 1, 2026), gmmktime(0, 0, 0, 12, 31, 2026));
foreach (array_slice($treceri, 1) as $t) {
$local = date_create("@" . $t["ts"]);
date_timezone_set($local, $tz);
echo date_format($local, "d.m.Y H:i") . " -> " . $t["abbr"] . " (UTC" . sprintf("%+d", $t["offset"] / 3600) . ")\n";
}
Rezultat
29.03.2026 04:00 -> EEST (UTC+3)
25.10.2026 03:00 -> EET (UTC+2)
Greșeli frecvente
- Iei în calcul și primul element ca schimbare. El arată doar starea de la începutul intervalului.
Comenzi înrudite
timezone_offset_get: Returnează decalajul unui fus orar față de UTC, în secunde, la o anumită dată.timezone_open: Creează un obiect DateTimeZone dintr-un nume de fus orar, de exemplu Europe/Bucharest.