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版本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