Javascript:日期取决于字段规范顺序?真?

时间:2010-02-26 15:12:35

标签: javascript

为什么这个代码到底是这样的:

var a = new Date();                             
var b = new Date();     

a.setDate(31);
a.setMonth(11);
a.setFullYear(2009);

b.setFullYear(2009);
b.setMonth(11);
b.setDate(31);

2009年12月31日b和2009年12月3日正确输出:-O for?不在浏览器MyHorribleScrap版本6.6.6但在FF 3.6和IE 8.06.6001上同时

2 个答案:

答案 0 :(得分:14)

这就是为什么建议使用带有参数的Date构造函数。

当您实例化Date对象时,它会获得当前日期(今天,2月26日),而2月只有28天,当您将日期设置为setDate(31)时,它会发生什么跳到3月3日。

推荐方式:

var a = new Date(2009, 11, 31);
// new Date(year, month, date [, hour, minute, second, millisecond ]);

答案 1 :(得分:0)

我实际上在写Tim的回答= /

首先设置年份(因为它可能是闰年),然后是月份,最后是de date,但最佳做法是使用构造函数Date(年,月,日)但不总是希望这样做