Метод 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,
    который представляет временную зону