Месяц обновляется при добавлении минут к объекту даты Javascript - PullRequest
0 голосов
/ 08 ноября 2019

Я добавляю Time в Javascript Date, и месяц увеличивается на 1. Любая идея, что именно не так в логике. enter image description here

var add_minutes =  function (dt, minutes) {
    return new Date(dt.getTime() + minutes*60000);
}
console.log(add_minutes(new Date(2014,10,2), 30).toString());

CodePen Link

Ответы [ 3 ]

1 голос
/ 08 ноября 2019

Все в порядке. Дело в том, что в Date() месяцы отсчитываются от 0, поэтому 10 - это не октябрь, а ноябрь. См это

1 голос
/ 08 ноября 2019

Это потому, что месяц индексируется нулем. Попробуйте войти new Date(2014,10,2).toString(). 10 означает ноябрь.

1 голос
/ 08 ноября 2019

Параметр месяца индексируется нулем. Таким образом, новая Дата (2014,0,1) - это 1 января, а новая Дата (2014,11,1) - 1 декабря.

См .: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

В частности,

новая дата (год, monthIndex [, день [, часы [, минуты [, секунды [, миллисекунды]]]]]);

Также обратите внимание, что Date.getMonth () возвращает месяц с нулевым индексом, а Date.getDate () возвращает день месяца как есть.

var date = new Date(2014, 0, 10);

console.log("Date:" + date.toLocaleString("en-US"));
console.log("getMonth(): " + date.getMonth());
console.log("getDate(): " + date.getDate());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...