我在PHP中使用strtotime($datetime)
将文本日期时间描述转换为Unix时间戳(参见下面的代码)。
$datetime = '2012-04-17 00:00:00';
$timestamp = strtotime($datetime);
但是,在时区(伦敦)的$timestamp
结果是1334617200,在时区(北京)是1334620800。
有人能给我解释一下为什么会这样吗?strtotime()
的结果是否会根据时区进行更改?
提前感谢!
发布于 2012-05-02 23:47:08
是的,这是正确的。时区已考虑在内。
发布于 2012-05-02 23:50:30
可以使用: date_default_timezone_set设置默认时区,否则将使用默认系统时区。
参考资料:
http://www.php.net/manual/en/function.date-default-timezone-get.php
发布于 2015-11-13 03:08:05
要使用GMT,请使用time()作为第二个参数:
strtotime($datetime, time())
https://stackoverflow.com/questions/10417179
复制相似问题