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

比如说我的是“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

répondre à tous(2)
数据分析师

Comment parcourir tous les mois-Q&A sur le site Web chinois PHP-Comment parcourir tous les mois-Q&R sur le site Web PHP chinois

Jetez un œil et apprenez.

阿神

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

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;
}


Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal