是否有使用MomentJS获得当前日期之后的日期?
例如,假设现在是 2018年1月5日,我如何获取从 2018年1月1日到 2018年1月5日的以前的日期?
我当前的代码如下:
const monthArr = [];
const dayArr= [];
const currentDate = moment(new Date()).format("DD");
for (let i = 0; i < +currentDate; i++) {
const month = moment(new Date())
.subtract(i, "day")
.format("MMYYYY");
const day = moment(new Date())
.subtract(i, "day")
.format("MMDDYYYY");
console.log("month" + month);
console.log("day" + day);
let monthObj = {};
let dailyObj = {};
monthArr.push(
(monthObj = {
data: {
[month]: Object.assign({}, document)
}
})
);
day.push(
(dailyObj = {
data: {
[day]: Object.assign({}, document)
}
})
);
monthly(user_id, monthArr[i]) &&
daily(user_id, dayArr[i]);
}
答案 0 :(得分:0)
OP中的代码效率极低,而且比所需的复杂得多。
要为从今天到月初的日期生成一系列格式化的字符串,只需一个日期以及一些非常简单的算术和格式化即可。它实际上不需要库,也不需要任何日期运算,例如
// Pad single digit number with leading zero
function pad(n){
return (n < 10? '0' : '') + n;
}
var today = new Date(),
year = today.getFullYear(),
month = pad(today.getMonth() + 1),
day,
i = today.getDate();
do {
day = pad(i);
console.log(`Month: ${month + year}`);
console.log(`Day: ${month + day + year}`);
} while (--i)
您的代码还有很多其他问题,但它们与问题没有直接关系。