Я посмотрел все выше. Закончил писать сам. Вам не нужны моменты для этого . Достаточно нативного цикла for , и это имеет смысл, поскольку цикл for существует для подсчета значений в диапазоне.
Один вкладыш:
var getDaysArray = function(s,e) {for(var a=[],d=s;d<=e;d.setDate(d.getDate()+1)){ a.push(new Date(d));}return a;};
Длинная версия
var getDaysArray = function(start, end) {
for(var arr=[],dt=start; dt<=end; dt.setDate(dt.getDate()+1)){
arr.push(new Date(dt));
}
return arr;
};
Список дат между:
var daylist = getDaysArray(new Date("2018-05-01"),new Date("2018-07-01"));
daylist.map((v)=>v.toISOString().slice(0,10)).join("")
/*
Output:
"2018-05-01
2018-05-02
2018-05-03
...
2018-06-30
2018-07-01"
*/
Дней с прошедшей даты до настоящего момента:
var daylist = getDaysArray(new Date("2018-05-01"),new Date());
daylist.map((v)=>v.toISOString().slice(0,10)).join("")