2010-11-26 51 views
0

的strtotime正在从1970-01-01(UTC)计算和日期在使用我的时区,即美国/纽约 一个简单的例子:PHP的strtotime和日期函数使用不同的时区

哪里时间戳为0:

var_dump(date('Y-m-d h:i:s', 0)); 

打印:1969-12-31 07:00:00

它应该返回0,它返回

var_dump(strtotime('1969-12-31 07:00:00')); 
-43200 

现在,很明显,我可以在时区添加到该日期即

strtotime($date . ' -5') 

,它会工作。

但是,我在任何地方都使用了strtotime函数。

我试着玩_$ENV['TZ']date_timestamp_get(); 但我无法同步它们。

我还修改了php.ini中的date.timezone到America/New_York,但仍然没有任何结果。

最后,强制使用date_timestamp_set('UTC')的时区,工作正常,两个日期同步。但是,我需要从服务器的时区。

请指教,我的想法

+0

我有点困惑,你在这里遇到问题。你究竟想要做什么?你是否想把一切设置为UTC? – wajiw 2010-11-26 03:19:50

回答

2
var_dump(date('Y-m-d H:i:s', 0)); 

h!= H日期。现在是晚上7点,你想从1969年12月31日凌晨07:00:00开始。

+0

好的。谢谢。这不是我正在寻找的,但我知道了。 – hbt 2010-11-26 05:55:41