近一年的日期组成数组

本文介绍了一个JavaScript函数,用于生成从当前月份起向前一年的完整日期列表,适用于项目中的时间序列分析。通过循环和条件判断,实现从当前年份的4月到上一年的5月的数据构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 项目中遇到这样一个问题,获取近一年的日期数据,从当前的月份开始往前推慢一年  比如现在2021-04 推到 2020-05,然后放到一个数组里面,下面是方法

 function buildXData() {
        //当前时间 时间戳
        let nowMonth = new Date().getMonth() + 1;
        let nowYear = new Date().getFullYear();
        let xArray = [];
        //构建 数据
        for (let i = 11; i >= 0; i--) {
            let month = nowMonth - i;
            if (month > 0 && month != 0) {
                let m = formatMounth(month);
                xArray.push(nowYear + "-" + m);
            } else {
                let oldMonth = 12 + month
                oldMonth = formatMounth(oldMonth)
                xArray.push(nowYear - 1 + "-" + oldMonth);
            }
        }
        console.log(xArray);
    }
    buildXData()
    function formatMounth (m) {
        return m < 10 ? '0' + m : m
    }

    // // 下面是比较简单的方法
    // var arr = [];
    // var yearDay = 12;
    // let d = "";
    // let date = new Date();
    // var year = date.getFullYear();
    // d = year;
    // var month = date.getMonth() + 1;
    // var num = yearDay - month;
    // if (num > 0) {
    //     d = d - 1;
    // }

    // for (let i = month; i <= yearDay; i++) {
    //     let mon = i < 10 ? "0" + i : i;
    //     arr.push(d + "-" + mon);
    // }
    // for (let k = 0; k < month; k++) {
    //     let mon = k + 1;
    //     mon = mon < 10 ? "0" + mon : mon;
    //     arr.push(year + "-" + mon);
    // }
    // console.log(arr);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值