date_timezone_set()

1. 定义

该函数设置DateTime对象的时区。成功时返回设置时区后的DateTime对象,失败则返回FALSE。

2. 语法

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

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

3. 参数说明

参数 可选性 数据类型 描述
$object 必需 DateTime 日期时间对象
$timezone 必需 DateTimeZone 时区对象

4. 示例

<?php

// date_timezone_set()
// 设置`DateTime`对象的时区

// 面向对象式
$date = new DateTime('2019-08-31 09:00:00', new DateTimeZone('Asia/Shanghai'));
echo '此时的日期时间对象的时间:',$date->format('Y-m-d H:i:s'),'  所在时区:',$date->format('e'),"\n";// 输出:此时的日期时间对象的时间:2019-08-31 09:00:00  所在时区:Asia/Shanghai
$timezone = new DateTimeZone('Europe/London');
$date->setTimezone($timezone);
echo '设置时区后的对象的时间:  ',$date->format('Y-m-d H:i:s'),'  所在时区:',$date->format('e'),"\n";// 输出:设置时区后的对象的时间:  2019-08-31 02:00:00  所在时区:Europe/London

// 面向过程式
$date = date_create('2019-08-31 09:00:00', new DateTimeZone('Asia/Shanghai'));
echo '此时的日期时间对象的时间:',$date->format('Y-m-d H:i:s'),'  所在时区:',$date->format('e'),"\n";// 输出:此时的日期时间对象的时间:2019-08-31 09:00:00  所在时区:Asia/Shanghai
$timezone = new DateTimeZone('Europe/London');
date_timezone_set($date, $timezone);
echo '设置时区后的对象的时间:  ',$date->format('Y-m-d H:i:s'),'  所在时区:',$date->format('e'),"\n";// 输出:设置时区后的对象的时间:  2019-08-31 02:00:00  所在时区:Europe/London

5. 延展阅读