2011-10-07 89 views
2

爲什麼在javascript中我創建一個新的日期對象mydate = new Date('2011-10-03');並打印爲10月2日? Sun Oct 02 2011 18:00:00 GMT-0600 (MDT)javascript日期問題

如果我將日期設置爲10月3日,當我打電話給mydate.getDate();時,我會得到3嗎?

我錯過了什麼?

回答

0

試試這個

mydate = new Date('2011/10/03'); 
+0

太棒了!但爲什麼呢?通過簡單地更改日期格式字符串它可以像預期的那樣工作 – chadgh

2

我相信你的約會對象是關閉的一個,因爲它在UTC時間被解析,你就在山上的時間顯示它(我假設你的本地時間)。這是根據ECMA規範。這裏的JavaScript規範的

見節15.9.3.3:

http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

+0

有沒有一種方法可以指定我希望它在當地時間進行分析(無論用戶瀏覽器是在哪裏發生的)? – chadgh

+0

我這麼認爲,也許就像:var myDate = new Date('October 3,2011 EST'); –

+0

哦,你需要解析瀏覽器的配置時區。是的,這可能會變得棘手。 –

0

我認爲這是設置日期2011-10-03和時間00:00:01爲UTC。

並且打印件將該日期對象轉換爲當地時間