Η Κλάση DateTimeZone

Η κλάση DateTimeZone επιτρέπει την εργασία με ζώνες ώρας στην PHP. Δέχεται στον κατασκευαστή μια συμβολοσειρά με τον αναγνωριστικό της ζώνης ώρας.

Σύνταξη

phpnew DateTimeZone(string $timezone);

Παράδειγμα

Ας δημιουργήσουμε ένα αντικείμενο ζώνης ώρας για τη Μόσχα:

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

Αποτέλεσμα εκτέλεσης του κώδικα:

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

Παράδειγμα

Χρήση με την κλάση DateTime:

php<?php
  $timezone = new DateTimeZone('America/New_York');
  $date = new DateTime('now', $timezone);
  echo $date->format('Y-m-d H:i:s');
?>

Αποτέλεσμα εκτέλεσης του κώδικα (τρέχουσα ώρα στη Νέα Υόρκη):

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

Παράδειγμα

Λήψη λίστας όλων των διαθέσιμων ζωνών ώρας:

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

Αποτέλεσμα εκτέλεσης του κώδικα:

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

Παράδειγμα

Λήψη της μετατόπισης της ζώνης ώρας από UTC:

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

Αποτέλεσμα εκτέλεσης του κώδικα:

php9

Δείτε επίσης

  • κλάση DateTime,
    για εργασία με ημερομηνία και ώρα
  • κλάση DateInterval,
    που ορίζει ένα χρονικό διάστημα
  • συνάρτηση date_default_timezone_set,
    για τον ορισμό της προεπιλεγμένης ζώνης ώρας