Classe DateTimeZone
La classe DateTimeZone
permet de travailler avec les fuseaux horaires en PHP.
Elle accepte dans son constructeur une chaîne avec l'identifiant du fuseau horaire.
Syntaxe
new DateTimeZone(string $timezone);
Exemple
Créons un objet fuseau horaire pour Moscou :
<?php
$timezone = new DateTimeZone('Europe/Moscow');
print_r($timezone);
?>
Résultat de l'exécution du code :
DateTimeZone Object
(
'timezone_type' => 3
'timezone' => Europe/Moscow
)
Exemple
Utilisation avec la classe DateTime
:
<?php
$timezone = new DateTimeZone('America/New_York');
$date = new DateTime('now', $timezone);
echo $date->format('Y-m-d H:i:s');
?>
Résultat de l'exécution du code (heure actuelle à New York) :
'2025-06-15 14:30:00'
Exemple
Obtenir la liste de tous les fuseaux horaires disponibles :
<?php
$timezones = DateTimeZone::listIdentifiers();
print_r(array_slice($timezones, 0, 5));
?>
Résultat de l'exécution du code :
[
'Africa/Abidjan'
'Africa/Accra'
'Africa/Addis_Ababa'
'Africa/Algiers'
'Africa/Asmara'
]
Exemple
Obtenir le décalage du fuseau horaire par rapport à UTC :
<?php
$timezone = new DateTimeZone('Asia/Tokyo');
echo $timezone->getOffset($date) / 3600;
?>
Résultat de l'exécution du code :
9
Voir aussi
-
classe
DateTime
,
pour travailler avec la date et l'heure -
classe
DateInterval
,
qui définit un intervalle de temps -
fonction
date_default_timezone_set
,
pour définir le fuseau horaire par défaut