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

phpnew DateTimeZone(string $timezone);

Exemple

Créons un objet fuseau horaire pour Moscou :

php<?php
  $timezone = new DateTimeZone('Europe/Moscow');
  print_r($timezone);
?>

Résultat de l'exécution du code :

phpDateTimeZone Object
(
  'timezone_type' => 3
  'timezone' => Europe/Moscow
)

Exemple

Utilisation avec la classe DateTime :

php<?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) :

php'2025-06-15 14:30:00'

Exemple

Obtenir la liste de tous les fuseaux horaires disponibles :

php<?php
  $timezones = DateTimeZone::listIdentifiers();
  print_r(array_slice($timezones, 0, 5));
?>

Résultat de l'exécution du code :

php[
  'Africa/Abidjan'
  'Africa/Accra'
  'Africa/Addis_Ababa'
  'Africa/Algiers'
  'Africa/Asmara'
]

Exemple

Obtenir le décalage du fuseau horaire par rapport à UTC :

php<?php
  $timezone = new DateTimeZone('Asia/Tokyo');
  echo $timezone->getOffset($date) / 3600;
?>

Résultat de l'exécution du code :

php9

Voir aussi