2010-11-26 115 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