js根据当前月取得历史或未来月份集合

本文提供了一个JavaScript脚本,用于从当前月开始,计算并获取历史月份和未来月份的集合,包括年份和月份的调整逻辑。

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

从当前月开始,取历史月时,计算因子为12,每取一次减1,判断为0时,把年份减1,月份还原到12,再推后推;

从当前月开始,取未来月时,计算因子为12,每取一次加1,判断为13时,把年份加1,月份还原到12,再往前推。


<script type="text/javascript">
	//根据当前月,取得历史月份集合(从当前月前推:历史)
            function complementHistoryDate(numMonth) {
                var complDate = [];
                var curDate = new Date();
                var y = curDate.getFullYear();
                var m = curDate.getMonth() + 1;
                //第一次装入当前月(格式yyyy-mm)
                complDate[0] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
                m--;
                //第一次已经装入,numMonth少计算一次
                for (var i = 1; i < numMonth; i++, m--) {
                    if (m == 0) {
                        //到1月后,后推一年
                        y--;
                        m = 12; //再从12月往后推
                    }
                    complDate[i] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
                }
                return complDate;
            }

            //根据当前月,取得未来月份集合(从当前月后推:未来)
            function complementFutureDate(numMonth) {
                var complDate = [];
                var curDate = new Date();
                var y = curDate.getFullYear();
                var m = curDate.getMonth() + 1;
                //第一次装入当前月(格式yyyy-mm)
                complDate[0] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
                m++;
                //第一次已经装入,numMonth少计算一次
                for (var i = 1; i < numMonth; i++, m++) {
                    if (m == 13) {
                        //到12月后,前推一年
                        y++;
                        m = 1; //再从1月往前推
                    }
                    complDate[i] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
                }
                return complDate;
            }
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值