PHP date_timezone_set() 函数用法及示例

PHP Date & Time 函数手册

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中引入的,并且可以在所有更高版本中使用。

在线示例

以下示例使用date_timezone_set()和timezone_name_get()函数-

<?php
   $date = date_create("25-09-1989"); 
   $tz = new DateTimeZone('Asia/Shanghai');   
   $res = date_timezone_set($date, $tz);   
   print("时区: ".timezone_name_get(date_timezone_get($date)) );
?>
测试看看‹/›

输出结果

时区: Asia/Shanghai

在线示例

下面的示例创建一个DateTime对象以及时区,并将时区设置为另一个值-

<?php
   $date = new DateTime("25-09-1989", new DateTimeZone('Asia/Shanghai')); 
   $res = date_timezone_set($date, timezone_open("Indian/Kerguelen"));   
   print("时区: ".timezone_name_get(date_timezone_get($date)) );
?>
测试看看‹/›

输出结果

时区: Indian/Kerguelen

在线示例

<?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 '新时区为 '. timezone_name_get($NewDateTimeZone);
   echo "\n";
   #使用第二个函数。
   $dateTime = new DateTime($dateSrc);
   $DateTimeZone = timezone_open ( 'Asia/Shanghai' );
   $dateTime->setTimezone( $DateTimeZone );
   $NewDateTimeZone = $dateTime->getTimezone ();   
   echo '新时区为 '. timezone_name_get ($NewDateTimeZone);
?>
测试看看‹/›

输出结果:

新时区为 America/Chicago
新时区为 America/Chicago