实现过去n个月和未来1一个日历月份

getSixMonths(new Date(), 4)

// date日期对象,num几个月
function getSixMonths(date, num) {

    let year = date.getFullYear()


    let month = date.getMonth() + 1
    this.time = year + '-' + month
    // 计算前六个月日期
    let interval = month - num
    let start = 0;
    let end = month + 1
    let resyear = ''
    if (interval <= 0) {
        start = interval + 12
    } else {
        start = interval
    }

    if (end > 12) {
        end = end - 12
    }
    let a = [start, end]

    let res = []
    if (6 <= end && end <= 12) {

        for (let i = start; i <= end; i++) {
            res.push(year + '-' + i)
        }
    } else {

        for (let i = start; i <= 12; i++) {
            res.push(year - 1 + '-' + i)
        }
        for (let i = 1; i <= end; i++) {
            res.push(year + '-' + i)
        }
    }

    return res


}
posted @ 2021-08-11 14:58  甜土豆  阅读(38)  评论(0编辑  收藏  举报