为什么这个代码到底是这样的:
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上同时
答案 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(年,月,日)但不总是希望这样做