Método getOffset da classe DateTime

O método getOffset da classe DateTime retorna o deslocamento do fuso horário em segundos em relação ao horário GMT (UTC). Isso é útil ao trabalhar com diferentes fusos horários. O método não aceita parâmetros e retorna um número inteiro.

Sintaxe

php$datetime->getOffset();

Exemplo

Vamos obter o deslocamento para o horário atual no fuso horário Europe/Moscow:

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

Resultado da execução do código (pode variar dependendo da estação do ano):

php10800

Exemplo

Vamos comparar os deslocamentos para diferentes fusos horários:

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";
  }
?>

Resultado da execução do código:

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

Veja também