如何遍历出全部的月份
phpcn_u251
phpcn_u251 2017-02-13 13:16:41
0
2
893

比如说我的是“2017-01”和“2017-05”
我想遍历输出全部的月份,怎样写才能输出
["2017-01","2017-02","2017-03","2017-04","2017-05"]
还有就是存在跨年的情况例如“2017-11”和“2018-03”
怎样输出
["2017-11","2017-12","2018-01","2018-02","2018-03"]

phpcn_u251
phpcn_u251

全部回复(2)
数据分析师

如何遍历出全部的月份-PHP中文网问答-如何遍历出全部的月份-PHP中文网问答

围观一下哦,学习一下。

阿神

这是我的实现方式,仅供参考

function traverse(start, end) {
    start = start.split('-');
    end = end.split('-');
    var startYear = parseInt(start[0]),
        startMon = parseInt(start[1]),
        endYear = parseInt(end[0]),
        endMon = parseInt(end[1]);

    if(startMon<1 || startMon>12){
      throw new Error('初始月份不正确');
    }
    if(endMon<1 || endMon>12){
      throw new Error('终止月份不正确');
    }

    var result = [];
    var year, mon;

    for (year = startYear; year < endYear;) {
        for(mon = startMon; mon<=12; mon++){
          result.push(year +'-'+ (mon<10?'0'+mon:mon));
          if(mon == 12) year++;
        }
    }
    if(startYear == endYear){
      mon = startMon;
    }else{
      mon = 1;
    }
    for (; mon <= endMon; mon++) {
        result.push(endYear +'-'+ (mon<10?'0'+mon:mon));
    }

    return result;
}


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板