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

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

4

3 回答 3

1

你真的看过警报吗?它显示 10 月的日期。月份是从零开始的。这意味着您的第一行实际上是 9 月 31 日 - 它不存在,并且被换行到第二天,即 10 月 1 日。您的第二行也是 10 月 1 日。

于 2010-08-26T08:25:22.330 回答
1

Date(2010,8,31) 表示“2010 年 10 月 1 日”,Date(2010,9,1) 也表示“2010 年 10 月 1 日”

因为

在 Date(yyyy,mm,dd) 中,mm 可以设置为 0 到 11 而不是 1 到 12

因此,如果 mm 为 8,则表示八月和八月有 30 天。

在这种情况下,如果你在 dd 中输入 31,它指向 "August 30" + 1

于 2010-08-26T08:29:49.730 回答
0

因为 javascript 月份是从 0 开始的,比如 0=Jan, 1=Feb

由于 9 月 30 日是该月的最后一天,javascript 将其更正为 10 月 1 日。

于 2010-08-26T08:27:34.697 回答