项目中遇到这样一个问题,获取近一年的日期数据,从当前的月份开始往前推慢一年 比如现在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);