【发布时间】:2014-01-15 10:03:12
【问题描述】:
我在所有默认时区设置都设置为 UTC 的环境 (wordpress) 中工作。
在其中,我想创建一个计时器函数,该函数始终以本地服务器时间 (+8) 处理时间。
我们的目标是有一个函数可以将 DateTime 对象返回到任何给定的日期(以'Y-m-d H:i:s' 格式输入,始终使用本地 +8 时区
function datetime_obj($date = NULL) {
$date_new = new DateTime($date);
$date_new->setTimezone(new DateTimeZone('Asia/Hong_Kong'));
return $date_new;
}
当我尝试获取今天的日期/时间信息 ($date = NULL) 时,这非常有用。但是,如果我将现有时间(HKG 时间)作为字符串(例如来自 MySQL 数据库中的日期时间字段),我无法从中生成新的日期时间对象,因为它被视为 UTC。上述函数生成的 DateTime 对象总是增加 8 小时。
如何更改上述函数,以便插入的 $date 被接受为已经在正确的 +8 时区,而不是更改 +8 作为输出?
【问题讨论】: