php strtotime和日期函数使用不同的时区

时间:2010-11-26 02:15:04

标签: php date timezone

strtotime是根据1970-01-01(UTC)计算的,而日期是使用我的时区,即America / New_York 一个简单的例子:

时间戳为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')强制使用时区,工作正常,两个日期都会同步。但是,我需要来自服务器的时区。

请告知,我没有想法

1 个答案:

答案 0 :(得分:2)

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

h!= H日期。现在是晚上7点,你正试图从1969-12-31 07:00:00 am获得时间。