以下Javascript代码
date = new Date();
date.setFullYear(2015);date.setMonth(10);date.setDate(20);
document.write(date);
document.write('<br/>');
date.setFullYear(2015);date.setDate(20);date.setMonth(10);
document.write(date);
给了我:
Sun Dec 20 2015 ...
Fri Nov 20 2015 ...
为什么选择date.setMonth(10); date.setDate(20);给我12月20日而不是11月20日?
date = new Date();
date.setFullYear(2015);date.setMonth(10);date.setDate(20);
document.write(date);
document.write('<br/>');
date.setFullYear(2015);date.setDate(20);date.setMonth(10);
document.write(date);
&#13;
答案 0 :(得分:1)
我说的结果发生在10月31日。因此,当浏览器执行setMonth(10)时,它会发现11月没有31天,并将月份设置为31天(12月)的下个月。
当您在一个月的第31天或在第30天设置了Monon(1)时设置了Monon(1),setMonth(3),setMonth(5),...时会出现相同的结果。
答案 1 :(得分:-1)
因为javascript有一个Date的愚蠢实现,日期为0-11而不是1-12,我们认为它们很自然。然而,setDate仍然是1-31 ... UGH !!!