Javascript новый Date () дает мне тот же результат при выполнении getTime () - PullRequest
1 голос
/ 27 января 2012

Для вычисления даты 2 я выполняю преобразование из строки в объект Date из JavaScript.

Это пример кода, который у меня есть:

 var date1 = new Date(dateArrray1[2], dateArrray1[1], dateArrray1[0], 0, 0, 0, 0);
 var date2 = new Date(dateArrray2[2], dateArrray2[1], dateArrray2[0], 0, 0, 0, 0);

Моя проблема в том, что когда я выполняю проверку этих двух объектов даты, я получаю тот же результат в функции getTime на определенную дату.

var date1 = new Date(2012, 01, 30, 12, 0, 0, 0).getTime()
var date2 = new Date(2012, 02, 01, 12, 0, 0, 0).getTime()

Обычно значение date1 данс date2 должно быть другим. Но сюрприз! Значения этих двух объектов одинаковы (фактически значение равно 1330621200000).

У кого-то такая же проблема, как у меня?

Ответы [ 2 ]

3 голосов
/ 27 января 2012

В датах Javascript используются месяцы, начинающиеся с 0.
Если вы передадите недопустимую дату, например, 30 февраля го , она определит, какая на самом деле эта дата.
Таким образом, 30 февраля го високосного года совпадает с 1 марта й .

3 голосов
/ 27 января 2012

Поле месяца имеет диапазон от 0 до 11, а не от 1 до 12

Так что в этом случае вы запросили 30 февраля и 1 марта.

В этом годуФевраль имеет 29 дней, поэтому 30 февраля (математически) совпадает с 1 марта.

...