찾다

 >  Q&A  >  본문

如何遍历出全部的月份

比如说我的是“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_u2512844일 전895

모든 응답(2)나는 대답할 것이다

  • 数据分析师

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

    모든 달을 순회하는 방법-PHP 중국어 사이트 Q&A-모든 달을 순회하는 방법-PHP 중국어 사이트 Q&A

    보시고 배워보세요.

    회신하다
    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;
    }


    회신하다
    0
  • 취소회신하다