为什么JavaScript中的不同日期显示相同?

时间:2010-08-26 08:19:06

标签: unobtrusive-javascript

<script type="text/javascript">
alert(new Date(2010,8,31));
alert(new Date(2010,9,1));
</script>

尝试上面的代码。浏览器在两个消息中显示相同的日期。为什么???

3 个答案:

答案 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日。