2015-06-04 78 views
0

我有JS Date對象的問題。Javascript日期對象返回錯誤日期

我正在處理時區設置。 通過創建一個zic文件(如/ usr/share/zoneinfo/Europe/Paris),我可以手動設置我的本地日期時間參數。 對於我的測試,我正在做1年的課程。 一切工作正常在系統側:

date -u ==> Thu Jun 4 10:18:27 UTC 2015 
date ==> Sat Jun 4 12:18:29 BST 2016 

console.debug(new Date()) ==> Sun May 10 2015 13:50:27 GMT-k631 (BST) 

是否有人看到過這樣奇怪的行爲和Date對象?

感謝

託姆

+0

這是否適用於您嘗試過的所有瀏覽器/環境,或只是特定的瀏覽器/環境? – Xotic750

+0

我假設linux'date'檢查zoneinfo文件並輸出系統時間+ zoneinfo調整。瀏覽器正在使用系統時間,對zoneinfo一無所知。這將是我的假設,並不一定是正確的。我無法重複你所做的事情,因爲實際上沒有足夠的信息。 – Xotic750

+0

是的linux日期使用zoneinfo,我通過生成一個tzfile(使用zic)來修改我的本地時間設置。 我的瀏覽器是webkit(使用Qt)。我正在安裝firefox來檢查它是否具有相同的行爲 –

回答

0

瀏覽器日期對象是使用你的時鐘確定時間。 所以如果你設置你的位置(+2小時,-5小時等),系統端和客戶端之間會有區別。

您可以將日期標準化爲格林威治時間(+0),然後根據您當前的偏移量和期望的偏移量設置時間對象。

+0

謝謝你的支持者,我會檢查一下。 但我不明白的是,日期對象應該使用系統日期,對吧? 當我設置UTC偏移<1年(例如1個月和1天)時,一切正常,JS日期與我的本地系統時間相同。 –

+0

沒有客戶/服務器的概念, 它是一個帶有基於Web的應用程序GUI的嵌入式系統,您在HMI上看到的時間就是系統時間。所以Server machine =客戶機。 所以在這種情況下,日期應該是一樣的 –

相關問題