有没有办法使用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]);
}
发布于 2018-12-06 08:39:01
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)
您的代码中还有许多其他问题,但这些问题与问题没有直接关系。
https://stackoverflow.com/questions/53636387
复制相似问题