2011-12-04 62 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之后。 –