如何使用 Moment.js 创建前 31 天的数组?
How do I create an array of the previous 31 days using Moment.js?
使用 moment.js 我正在尝试以特定 moment.js 格式生成前 31 天的数组。这是我当前的代码:
let labels = [];
const popArray = () => {
let nowMonth: any = moment().format('D');
let newMonth = parseInt(nowMonth);
let startMonth = newMonth - 31;
for(let i = startMonth; i < newMonth; i++){
labels.push(moment().day(i).format('MM-DD'));
}
console.log(labels)
}
popArray();
当我 运行 这段代码时,我得到一个 31 天的数组,第一个是“11-10”,最后一个是“12-10”。为什么是这样?我尝试了不同的配置,其中 startMonth
是“-31”,newMonth
是“0”,但它仍然不起作用。
您可以像这样简单地使用减法:
let labels = [];
const popArray = () => {
for (let i = 0; i <= 31; i++){
labels.push(moment().subtract(i, "days").format('MM-DD'))
}
console.log(labels)
}
popArray();
不是将日期解析为整数并以这种方式循环,而是使用内置的 momentjs
function subtract
从当前日期回溯 31 天,然后使用 add
函数向前循环在 momentjs
.
const DAYS = () => {
const days = []
const dateStart = moment().subtract(31, 'days')
const dateEnd = moment()
while (dateEnd.diff(dateStart, 'days') >= 0) {
days.push(dateStart.format('MM-DD'));
dateStart.add(1, 'days')
}
return days;
}
console.log(DAYS())
使用 moment.js 我正在尝试以特定 moment.js 格式生成前 31 天的数组。这是我当前的代码:
let labels = [];
const popArray = () => {
let nowMonth: any = moment().format('D');
let newMonth = parseInt(nowMonth);
let startMonth = newMonth - 31;
for(let i = startMonth; i < newMonth; i++){
labels.push(moment().day(i).format('MM-DD'));
}
console.log(labels)
}
popArray();
当我 运行 这段代码时,我得到一个 31 天的数组,第一个是“11-10”,最后一个是“12-10”。为什么是这样?我尝试了不同的配置,其中 startMonth
是“-31”,newMonth
是“0”,但它仍然不起作用。
您可以像这样简单地使用减法:
let labels = [];
const popArray = () => {
for (let i = 0; i <= 31; i++){
labels.push(moment().subtract(i, "days").format('MM-DD'))
}
console.log(labels)
}
popArray();
不是将日期解析为整数并以这种方式循环,而是使用内置的 momentjs
function subtract
从当前日期回溯 31 天,然后使用 add
函数向前循环在 momentjs
.
const DAYS = () => {
const days = []
const dateStart = moment().subtract(31, 'days')
const dateEnd = moment()
while (dateEnd.diff(dateStart, 'days') >= 0) {
days.push(dateStart.format('MM-DD'));
dateStart.add(1, 'days')
}
return days;
}
console.log(DAYS())