2016-03-25 44 views
-1

我有776635200時間戳存儲在數據庫中。爲什麼我從時間戳得到錯誤的日期?

當我在PHP它格式化爲在服務器側弦我得到以下結果:

var_dump(date("Y-m-d H:i:s", 776635200)); // string(19) 1994-08-12 00:00:00

但是,當我在JS做同樣的客戶端,我得到以下結果:

console.log(new Date(776635200 * 1000)) // Thu Aug 11 1994 23:00:00 GMT+0300 (RTZ 2 (зима))

爲什麼我會得到不同的結果?

+0

看起來像是與時區有關的東西。 – Harikrishnan

+1

定義「錯誤」。什麼是*預期*,「正確」的答案? – deceze

回答

2

因爲在php中它使用不同的時區格式化,這可能是GMT + 0400,而在JS中它使用時區GMT + 0300格式化。

嘗試var在PHP中轉儲時區。

var_dump(date("Y-m-d H:i:s O", 776635200)); 
1

服務器端從服務器和/或當客戶端JS的PHP設置的位置獲取其時區設置,從本地時區中的用戶計算機設置獲取其時間設置。可能位於不同的時區。

+0

*來自服務器的位置*和/或PHP設置。 +1無論 –

+0

謝謝@Hanky Panky - 修改了我的答案。 :) – gavgrif

相關問題