4

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();
                    month = month<9?'0'+(month+1):month+1;
                    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-9-12','2020-10-28'));

image


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'));

开.png

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'));

1.png


Star_陈
23 声望2 粉丝

人的内心好像一直有一片荒芜的夜地,留给那个幽暗又寂寞的自我。