Ce face date_timezone_set
Forma de funcție a metodei DateTime::setTimezone(). Este folosită pentru conversii: o oră din România, afișată pentru un client din New York, sau o dată UTC din baza de date, afișată în ora locală.
Timestamp-ul nu se schimbă: 14:30 la București și 07:30 la New York sunt același moment.
Parametri
| Parametru | Descriere |
|---|---|
$object |
Obiectul DateTime modificat. |
$timezone |
Noul fus orar, de exemplu timezone_open("America/New_York"). |
Ce returnează
Același obiect, modificat.
Exemple
Exemplul 1: Ora unei întâlniri în alt oraș
<?php
$d = date_create("2026-10-19 14:30", timezone_open("Europe/Bucharest"));
$inainte = date_timestamp_get($d);
date_timezone_set($d, timezone_open("America/New_York"));
echo date_format($d, "d.m.Y H:i T") . "\n";
var_dump(date_timestamp_get($d) === $inainte);
Rezultat
19.10.2026 07:30 EDT
bool(true)
Exemplul 2: Din UTC în ora României
<?php
$dinBaza = date_create("2026-10-19 11:35:00", timezone_open("UTC"));
date_timezone_set($dinBaza, timezone_open("Europe/Bucharest"));
echo date_format($dinBaza, "d.m.Y H:i");
Rezultat
19.10.2026 14:35
Greșeli frecvente
- Te aștepți să schimbe momentul, nu doar fusul. Pentru „aceeași oră, alt fus orar” creează o dată nouă cu textul orei și fusul dorit.
Comenzi înrudite
date_timezone_get: Returnează fusul orar al unui obiect DateTime, ca obiect DateTimeZone.timezone_open: Creează un obiect DateTimeZone dintr-un nume de fus orar, de exemplu Europe/Bucharest.date_default_timezone_set: Setează fusul orar folosit de toate funcțiile de dată din script, de exemplu Europe/Bucharest.