2011-12-04 60 views
1

我想要在JavaScript中格式化日期,但日期命令返回錯誤的日期,除非我使用toUTCString()它返回正確的日期,我已經嘗試了不同的方式給出日期到Date()函數,並且getgetUTC函數獲取日期。我也嘗試過不同的瀏覽器(Chrome,Safari,FireFox),而更令人困惑的是,如果我在Chrome瀏覽器中執行此操作,則完美無缺。我錯過了明顯的東西?JS日期()返回不正確的日期

var d = new Date(1324141200000); 

// return "Sat, 17 Dec 2011 17:00:00 GMT" - Correct! 
alert(d.toUTCString()); 
// returns "6-11-2011" - Wrong! 
alert(d.getUTCDay() +'-'+ d.getUTCMonth() +'-'+ d.getUTCFullYear()); 

回答

6

「getUTCDay()」函數返回星期幾。月份從零開始編號。星期六是本週的第六天(至少在JavaScript域中),而11是從零開始的第12個月。

因此,一切都很好。

可以使用「d.getUTCDate()」檢索月份的日期。

+0

啊,我太慢了! +1 – RightSaidFred

+0

好,所以我很想念,當你累了,頭痛的時候不要編碼。謝謝您的幫助! – Scott

1
d.getUTCDay() // day of week 

d.getUTCMonth() // zero based index 
1

而不是getUTCDay,你想要getUTCDate。並且getUTCMonth返回0-11(0 = 1月)。規範的Section 15.9.1可能會有所幫助,但語言是很繁重的。

0

使用 和getFullYear() 函數來獲取一年, 得到月() 函數獲取月, GETDATE() 函數來獲得一天。

+1

除了那些不會提供UTC時間的結果。 – RightSaidFred

+0

啊。我不確定這是什麼Udo之後。 –