1.获取所有的天数:

话不多说直接上代码。

            function getDateBetween(start,end){                    var result = [];                    //使用传入参数的时间                    var startTime = new Date(start);                    var endTime = new Date(end);                    while(endTime - startTime>=0 ) {                        let year = startTime.getFullYear();                        let month = startTime.getMonth().toString().length==1?"0"+(startTime.getMonth()+1).toString():startTime.getMonth();                        let day = startTime.getDate().toString().length==1?"0"+startTime.getDate():startTime.getDate();                        //加入数组                        result.push(year+"-"+month+"-"+day);                        //更新日期                        startTime.setDate(startTime.getDate()+1);                    }                return result;            }

测试结果:

console.log(getDateBetween('2020-06-17','2020-06-25'));


2.获取所有的月份:

超级详细的注释

                function getMonthBetween(start,end){                          //初始化数组                        var result = [];                          //切割起始年月                        var s = start.split("-");                          //切割结束年月                        var e = end.split("-");                          //获取时间对象                        var min = new Date();                          var max = new Date();                          //设置起始时间                        min.setFullYear(s[0],s[1]);                          //设置结束时间                        max.setFullYear(e[0],e[1]);                                                  //复制一份起始时间对象                        var curr = min;                          //定义字符串                        var str = "";                        //起始时间在结束时间之前                        while(curr <= max){                              //获取此时间的月份                            var month = curr.getMonth();                              //如果月份为0,也就是代表12月份                            if(month===0){                                str=(curr.getFullYear()-1)+"-"+12;                            }else{//正常月份                                str=curr.getFullYear()+"-"+(month<10?("0"+month):month);                            }                            //将此年月加入数组                            result.push(str);                              //更新此时间月份                            curr.setMonth(month+1);                          }                          return result;                     }  

测试结果:

console.log(getMonthBetween('2018-09','2020-02'));

3.获取所有的年份:

            function getYearBetween(start,end){                    var result = [];                    //使用传入参数的时间                    var startTime = new Date(start);                    var endTime = new Date(end);                    while(endTime - startTime>=0 ) {                        //获取年份                        let year = startTime.getFullYear();                        //加入数组                        result.push(year);                        //更新日期                        startTime.setFullYear(startTime.getFullYear()+1);                    }                return result;           }

测试结果:

console.log(getYearBetween('2017','2020'));