Ce face timezone_open
Forma de funcție pentru new DateTimeZone("Europe/Bucharest"). Obiectul se folosește la crearea datelor (date_create("...", $tz)) și la conversii (date_timezone_set).
Acceptă nume IANA (Europe/Bucharest), UTC, abrevieri (EET) și decalaje fixe (+02:00). Pentru un nume necunoscut afișează un Warning și returnează false, iar constructorul new DateTimeZone aruncă o excepție.
Parametri
| Parametru | Descriere |
|---|---|
$timezone |
Numele fusului orar. |
Ce returnează
Un obiect DateTimeZone, sau false pentru un nume necunoscut.
Exemple
Exemplul 1: Fusuri orare create în moduri diferite
<?php
foreach (["Europe/Bucharest", "UTC", "+02:00"] as $nume) {
$tz = timezone_open($nume);
echo timezone_name_get($tz) . ": " . date_format(date_create("2026-10-19 12:00", $tz), "H:i P") . "\n";
}
Rezultat
Europe/Bucharest: 12:00 +03:00
UTC: 12:00 +00:00
+02:00: 12:00 +02:00
Exemplul 2: Nume greșit, cu excepție
<?php
try {
new DateTimeZone("Europe/Bucuresti");
} catch (Exception $e) {
echo get_class($e) . ": " . $e->getMessage();
}
Rezultat
DateInvalidTimeZoneException: DateTimeZone::__construct(): Unknown or bad timezone (Europe/Bucuresti)
Greșeli frecvente
- Folosești
"+02:00"pentru România. Decalajul fix nu știe de ora de vară. Folosește"Europe/Bucharest".
Comenzi înrudite
timezone_name_get: Returnează numele unui obiect DateTimeZone, de exemplu Europe/Bucharest.date_timezone_set: Mută un obiect DateTime în alt fus orar. Momentul rămâne același, se schimbă doar ora afișată.timezone_identifiers_list: Returnează lista numelor valide de fusuri orare, toate sau doar dintr-un continent ori dintr-o țară.