Метод setTimezone на класа DateTime

Методът setTimezone променя часовата зона на обект DateTime. Като параметър приема обект от клас DateTimeZone. Връща модифицирания обект DateTime.

Синтаксис

phppublic DateTime::setTimezone(DateTimeZone $timezone): DateTime

Пример

Задаваме часова зона 'America/New_York' за текущата дата:

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

Резултат от изпълнението на кода:

php'2023-11-15 10:30:00'

Пример

Променяме часовата зона на съществуващ обект DateTime:

php<?php
  $date = new DateTime('2023-01-01 12:00:00', new DateTimeZone('Europe/Moscow'));
  $date->setTimezone(new DateTimeZone('Asia/Tokyo'));
  echo $date->format('Y-m-d H:i:s');
?>

Резултат от изпълнението на кода:

php'2023-01-01 18:00:00'

Вижте също

  • функцията date,
    която форматира дата/час
  • функцията date_default_timezone_set,
    която задава часова зона по подразбиране
  • класът DateTimeZone,
    който представлява часова зона