Classe DateTimeZone
La classe DateTimeZone permette di lavorare con i fusi orari in PHP.
Accetta nel costruttore una stringa con l'identificatore del fuso orario.
Sintassi
new DateTimeZone(string $timezone);
Esempio
Creiamo un oggetto fuso orario per Mosca:
<?php
$timezone = new DateTimeZone('Europe/Moscow');
print_r($timezone);
?>
Risultato dell'esecuzione del codice:
DateTimeZone Object
(
'timezone_type' => 3
'timezone' => Europe/Moscow
)
Esempio
Utilizzo con la classe DateTime:
<?php
$timezone = new DateTimeZone('America/New_York');
$date = new DateTime('now', $timezone);
echo $date->format('Y-m-d H:i:s');
?>
Risultato dell'esecuzione del codice (ora corrente a New York):
'2025-06-15 14:30:00'
Esempio
Ottenere un elenco di tutti i fusi orari disponibili:
<?php
$timezones = DateTimeZone::listIdentifiers();
print_r(array_slice($timezones, 0, 5));
?>
Risultato dell'esecuzione del codice:
[
'Africa/Abidjan'
'Africa/Accra'
'Africa/Addis_Ababa'
'Africa/Algiers'
'Africa/Asmara'
]
Esempio
Ottenere l'offset del fuso orario da UTC:
<?php
$timezone = new DateTimeZone('Asia/Tokyo');
echo $timezone->getOffset($date) / 3600;
?>
Risultato dell'esecuzione del codice:
9
Vedi anche
-
classe
DateTime,
per lavorare con data e ora -
classe
DateInterval,
che definisce un intervallo di tempo -
funzione
date_default_timezone_set,
per impostare il fuso orario predefinito