English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP date_timezone_set() 函数用法及示例

PHP 日期 & 时间 函数手册

date_timezone_set() 函数设置 DateTime 对象的时区

定义和用法

date_timezone_set()函数接受 DateTime 对象和一个时区对象作为参数,并设置指定时区为给定的日期时间。

语法

date_timezone_set($object, $timezone)

参数

序号参数及说明
1

object (必需)

这表示需要为其设置时区的 DateTime 对象。

2

timezone (必需)

这是一个 TimeZone 对象,表示您需要设置为 DateTime 对象的时区。

返回值

date_timezone_set 函数返回一个 DateTime 对象。如果失败,则返回布尔值false

PHP版本

此函数最初是在PHP版本5.2在版本 .0 中引入,并且可以在所有更高版本中使用。

Exemplo online

以下示例使用date_timezone_set()e timezone_name_get() função}-

<?php
   $date = date_create("25-09-1989"); 
   $tz = new DateTimeZone('Asia/Shanghai');   
   $res = date_timezone_set($date, $tz);   
   print("Fuso horário: ".timezone_name_get(date_timezone_get($date)) );
?>
Testar e ver‹/›

Resultados de saída

Fuso horário: Asia/Shanghai

Exemplo online

O exemplo a seguir cria um objeto DateTime e um fuso horário, e define outro valor para o fuso horário-

<?php
   $date = new DateTime("25-09-1989", new DateTimeZone('Asia/Shanghai')); 
   $res = date_timezone_set($date, timezone_open("Indian/Kerguelen"));   
   print("Fuso horário: ".timezone_name_get(date_timezone_get($date)) );
?>
Testar e ver‹/›

Resultados de saída

Fuso horário: Indian/Kerguelen

Exemplo online

<?php
   $dateSrc = '2007-04-19 12:50 GMT';
   $dateTime = date_create( $dateSrc);
   $DateTimeZone = timezone_open ( 'Asia/Shanghai' );
   date_timezone_set( $dateTime, $DateTimeZone );
   $NewDateTimeZone = date_timezone_get($dateTime);   
   echo 'Nova zona é '. timezone_name_get($NewDateTimeZone);
   echo "\n";
   #Usar a segunda função.
   $dateTime = new DateTime($dateSrc);
   $DateTimeZone = timezone_open ( 'Asia/Shanghai' );
   $dateTime-setTimezone( $DateTimeZone );
   $NewDateTimeZone = $dateTime-getTimezone ();   
   echo 'Nova zona é '. timezone_name_get ($NewDateTimeZone);
?>
Testar e ver‹/›

Resultados de saída:

Nova zona é America/Chicago
Nova zona é America/Chicago