我正在寻找解决方案,但我没有得到我的意思。
案例:开始日期:10/17/2017
和结束日期:02/23/2018
从这些日期范围开始,我希望以数组格式获得数月和数年,如下所示
array 1
- 2017
-10
-11
-12
array 2
- 2018
-01
-02
请告诉我你的建议。提前谢谢。
答案 0 :(得分:1)
我很感兴趣,所以无论如何我写了它 - 不妨发布它。 Moment.js在这里非常矫枉过正。
var obj = {}, start=new Date("10/17/2017"), end=new Date("02/23/2018");
for (var i=start.getTime(), n = end.getTime(); i<=n;) { // we update i later
var d=new Date(i), year = d.getFullYear(), month=d.getMonth()+1;
if (!obj[year]) obj[year] = [month]; // initialise array
else obj[year].push(month); // add to array
d.setMonth(month); // next month
i = d.getTime(); // here instead of in the for statement
}
console.log(obj);