Maison  >  Questions et réponses  >  le corps du texte

如何遍历出全部的月份

比如说我的是“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_u251phpcn_u2512827 Il y a quelques jours879

répondre à tous(2)je répondrai

  • 数据分析师

    数据分析师2017-10-01 00:18:14

    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.

    répondre
    0
  • 阿神

    阿神2017-02-13 13:17:22

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

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


    répondre
    0
  • Annulerrépondre