<script type="text/javascript">
alert(new Date(2010,8,31));
alert(new Date(2010,9,1));
</script>
尝试上面的代码。浏览器在两个消息中显示相同的日期。为什么???
答案 0 :(得分:1)
你真的看过警报了吗?它显示十月的日期。这些月份从零开始。这意味着你的第一行实际上是9月31日 - 它不存在,并且被包裹到第二天,即10月1日。你的第二行也是10月1日。
答案 1 :(得分:1)
日期(2010,8,31)表示“2010年10月1日”和 日期(2010,9,1)也表示“2010年10月1日”
因为
在日期(yyyy,mm,dd)中,mm可以设置为0到11而不是1到12
因此,如果mm为8表示8月,8月表示30天。
在这种情况下,如果你在dd中输入31,则它指向“8月30日”+ 1
答案 2 :(得分:0)
因为javascript月份基于0,例如0 = 1月,1 = 2月
由于9月30日是该月的最后一天,因此javascript会将其更正为10月1日。