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 日に折り返されます。2 行目も 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は1~12ではなく0~11まで設定可能

mm が 8 の場合、8 月と 8 月が 30 日あることを意味します。

この場合、dd に 31 を入力すると、「8 月 30 日」+1 を指します。

于 2010-08-26T08:29:49.730 に答える
0

JavaScript の月は 0 ベースなので、0=1 月、1=2 月のように

9 月 30 日は月末なので、javascript は 10 月 1 日に修正します。

于 2010-08-26T08:27:34.697 に答える