# DateTime::setTimezone

# date_timezone_set

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

DateTime::setTimezone -- date_timezone_set — Establece la zona horaria para el objeto DateTime

### Descripción

Estilo orientado a objetos

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

Estilo por procedimientos

date_timezone_set(DateTime `$object`, DateTimeZone `$timezone`): DateTime

Establece una nueva zona horaria para un object de DateTime.

### Parámetros

`object`

  Solamente para el estilo por procedimientos: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

`timezone`

  Un objeto DateTimeZone que representa la zona horaria deseada.

### Valores devueltos

Devuelve el objeto DateTime para la cadena de métodos o `false` en caso de error.

### Historial de cambios

Versión | Descripción
--- | ---
5.3.0 | Se ha cambiado el valor devuelto en caso de éxito de `null` a DateTime.

### Ejemplos

Ejemplo #1 Ejemplo de DateTime::setTimeZone()

Estilo orientado a objetos

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

Estilo por procedimientos

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

El resultado de los ejemplos sería:

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

### Ver también

- DateTime::getTimezone() - Develve la zona horaria relativa al objeto DateTime dado
- DateTimeZone::__construct() - Crea un nuevo objeto DateTimeZone