DateTime::setTimezone

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setTimezone -- date_timezone_setDefine o fuso horário de um objeto DateTime

Descrição

Estilo orientado a objetos

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

Estilo procedural

Define um novo fuso horário a um objeto (object) DateTime.

Equivalente a DateTimeImmutable::setTimezone() mas funciona com DateTime.

A versão procedural usa o objeto DateTime como seu primeiro argumento.

Parâmetros

object

Somente no estilo procedural: Um objeto DateTime retornado por date_create(). A função modifica este objeto.

timezone

Um objeto DateTimeZone que representa o fuso horário desejado.

Valor Retornado

Retorna o objeto da classe DateTime para ligação de métodos. O ponto no tempo subjacente não é modificado quando este método é chamado.

Exemplos

Example #1 Exemplo do método DateTime::setTimeZone()

Estilo orientado a objetos

<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Estilo procedural

<?php
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";

date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
?>

Os exemplos acima produzirão:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

Veja Também