2015-06-06 33 views
5

爲什麼當我有解釋JavaScript的日期()函數

var dt = new Date(2015, 6, 1); 
dt.toUTCString() 

我的輸出Tue, 30 Jun 2015 23:00:00 GMT

而且

var dt = new Date(2015, 6, 2); 
dt.toUTCString() 

Wed, 01 Jul 2015 23:00:00 GMT

我清楚地失去了一些東西,我希望能夠遍歷每個月的每一天和g等這一天的到來

一個Date()我不明白爲什麼,如果這一天是1,它說日是30

+0

這是一個很好的問題,清晰,有用,而且確實很有趣。 – bjfletcher

回答

3

的Javascript日期總是用當地時區生成。使用toUTCString將Date對象中的時間轉換爲UTC時間,顯然在您的情況下表示-1小時。如果要用UTC時間初始化Date對象,請使用:

var dt = new Date(Date.UTC(2015, 6, 1)); 
+0

我想我只是在愚蠢。我認爲toUTCString()是查看可讀日期的唯一函數,只是意識到有一個toDateString(),並提供了正確的日期 – Ben

0

toUTCString()方法根據通用時間將Date對象轉換爲字符串。

世界標準時間(UTC)是世界標準時間設定的時間。

注意:UTC時間與GMT時間相同。

0

嘗試在另一個函數中更改dt.toUTCString()。 地球上有很多小時,例如在美國是5點鐘,在日本是10點鐘等等。UTC是一個時區,試圖改變這一點。