Метод getOffset класса DateTime

Метод getOffset класса DateTime возвращает смещение часового пояса в секундах относительно времени GMT (UTC). Это полезно при работе с разными временными зонами. Метод не принимает параметров и возвращает целое число.

Синтаксис

php$datetime->getOffset();

Пример

Получим смещение для текущего времени в часовом поясе Europe/Moscow:

php<?php
  $date = new DateTime('now', new DateTimeZone('Europe/Moscow'));
  $res = $date->getOffset();
  echo $res;
?>

Результат выполнения кода (может отличаться в зависимости от сезона):

php10800

Пример

Сравним смещения для разных часовых поясов:

php<?php
  $zones = ['UTC', 'America/New_York', 'Asia/Tokyo'];
  foreach ($zones as $zone) {
    $date = new DateTime('now', new DateTimeZone($zone));
    echo $zone . ': ' . $date->getOffset() . "\n";
  }
?>

Результат выполнения кода:

phpUTC: 0
America/New_York: -18000
Asia/Tokyo: 32400

Смотрите также

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