开发者社区 问答 正文

js如何获取两个时间中的所有年月?

有2个时间:2016-4-12 2018-7-10 如何获取其中所有的年月?不需要精确到日

展开
收起
小旋风柴进 2016-05-31 11:10:32 2545 分享 版权
1 条回答
写回答
取消 提交回答
  • function getYearAndMonth(start, end) {
        var result = [];
        var starts = start.split('-');
        var ends = end.split('-');
        var staYear = parseInt(starts[0]);
        var staMon = parseInt(starts[1]);
        var endYear = parseInt(ends[0]);
        var endMon = parseInt(ends[1]);
        while (staYear <= endYear) {
            if (staYear === endYear) {
                while (staMon < endMon) {
                    staMon++;
                    result.push({year: staYear, month: staMon});
                }
                staYear++;
            } else {
                staMon++;
                if (staMon > 12) {
                    staMon = 1;
                    staYear++;
                }
                result.push({year: staYear, month: staMon});
            }
        }
    
        return result;
    2019-07-17 19:21:36
    赞同 展开评论