2014-12-27 105 views
0

我將字符串日期轉換爲日期對象,但得到一天少。我GOOGLE了,但無法理解如何改變獲得適當的輸出。任何人都可以幫我或給我一個參考,我可以從中瞭解。javascript日期時區問題

new Date("2001-02-03") 

瀏覽器resut:Fri Feb 02 2001 19:00:00 GMT-0500 (EST).

預期:Fri Feb 03 2001 19:00:00 GMT-0500 (EST).

+0

您正在使用的瀏覽器? – user1428716

+0

礦是鉻瀏覽器 –

回答

2

瀏覽器JS代表與考慮了系統的時區的日期。給定的日期字符串沒有時間部分,因此它假定時間爲00:00:00。您似乎在-05:00時區,所以日期將會在您指定時間後的五個小時內顯示,即前一天的下午7點。您可以使用toUTCString()查看不帶時區的日期信息。

var d = new Date("2001-02-03"); 
d.toUTCString() 
"Sat, 03 Feb 2001 00:00:00 GMT" 

或在較短的形式

(new Date("2001-02-03")).toUTCString() 
+0

感謝您的答案。我不能將結果轉換爲日期對象嗎?我的意思是我想toUTCString()作爲日期對象的結果。 –

+0

您的日期對象的內部日期時間指針位於'Sat,2001年2月3日00:00:00 GMT'。沒有什麼可轉換的。除非您指定不會,否則它將始終按照時區表示。 – marekful