Почему разные даты выглядят одинаково в JavaScript? - PullRequest
0 голосов
/ 26 августа 2010
<script type="text/javascript">
alert(new Date(2010,8,31));
alert(new Date(2010,9,1));
</script>

Попробуйте код выше. Браузер отображает одинаковую дату в обоих сообщениях. Почему ???

Ответы [ 3 ]

1 голос
/ 26 августа 2010

Дата (2010,8,31) означает «1 октября 2010 года» и Дата (2010,9,1) также означает «1 октября 2010 года»

Потому что

в Дата (гггг, мм, дд), мм можно установить от 0 до 11, а не от 1 до 12

, так что если мм равен 8, значит август и август имеют 30 дней.

в этом случае, если вы введете 31 в дд, это указывает «30 августа» + 1

1 голос
/ 26 августа 2010

Вы действительно смотрели на предупреждение? Отображает дату в октябре. Месяцы на основе нуля . Это означает, что ваша первая строка на самом деле 31 сентября - она ​​не существует и перенесена на следующий день, 1 октября. Ваша вторая строка - также 1 октября.

0 голосов
/ 26 августа 2010

Поскольку месяцы javascript основаны на 0, например 0 = январь, 1 = февраль

Поскольку 30 сентября - последний день месяца, javascript корректирует его до 1 октября.

...