Моя дата в формате 2011-04-01
. Когда я запускаю приведенный ниже код, следующие результаты.
var dateParts = '2011-04-01'.split('-');
dateParts[0] = parseInt(dateParts[0]);
dateParts[1] = parseInt(dateParts[1]);
dateParts[2] = parseInt(dateParts[2]);
console.log(dateParts);
for (i = 0; i <= 13; i++) {
var thisDate = new Date(dateParts[0], dateParts[1], dateParts[2] + i);
console.log(thisDate);
}
Результат:
[2011, 4, 1]
Date {Sun May 01 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Mon May 02 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Tue May 03 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Wed May 04 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Thu May 05 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Fri May 06 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Sat May 07 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Sun May 08 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Mon May 09 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Tue May 10 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Wed May 11 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Thu May 12 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Fri May 13 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Date {Sat May 14 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}
Дата, которую я разделяю, и число, которое я даю объекту Date, даны в апреле, почему он генерирует дату в мае? Я немного новичок в JS, поэтому может быть что-то очевидное, что мне не хватает. Буду признателен за любую помощь или предложения по улучшению.