Método setTimezone da classe DateTime
O método setTimezone altera o fuso horário do objeto DateTime. Ele aceita como parâmetro um objeto da classe DateTimeZone. Retorna o objeto DateTime modificado.
Sintaxe
public DateTime::setTimezone(DateTimeZone $timezone): DateTime
Exemplo
Vamos definir o fuso horário 'America/New_York' para a data atual:
<?php
$date = new DateTime('now', new DateTimeZone('UTC'));
$date->setTimezone(new DateTimeZone('America/New_York'));
echo $date->format('Y-m-d H:i:s');
?>
Resultado da execução do código:
'2023-11-15 10:30:00'
Exemplo
Vamos alterar o fuso horário de um objeto DateTime existente:
<?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');
?>
Resultado da execução do código:
'2023-01-01 18:00:00'
Veja também
-
a função
date,
que formata uma data/hora -
a função
date_default_timezone_set,
que define o fuso horário padrão -
a classe
DateTimeZone,
que representa um fuso horário