gpt4 book ai didi

javascript - 使用 Moment.js 获取最后 X 天的日期

转载 作者:行者123 更新时间:2023-12-04 00:20:31 24 4
gpt4 key购买 nike

我想得到最后一个x使用 Moment.js 从当前日期开始日期.

const moment = require('moment');

let dates;
const dates = [];
const NUM_OF_DAYS = 12; // get last 12 dates.

for (let i = 0; i < NUM_OF_DAYS; i++) {
date = moment();
date.subtract(1, 'day').format('DD-MM-YYYY');
dates.push(date);
}

console.log(dates);

这段代码的结果如下:
[ moment("2018-07-09T11:40:04.663"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675"),
moment("2018-07-09T11:40:04.675") ]

这是同一日期,而不是我每次迭代想要的日期。

我知道问题出在 date = moment() 行。因为它在每一步都返回当前时间戳,而不是前一个。

我怎样才能解决这个问题?

最佳答案

您将相同的变量推送到数组并始终从当前时刻减去 1。

声明 date循环内的变量并减去 i

for(...){
let date = moment();
date.subtract(i, 'day')
...
}

const dates = [];
const NUM_OF_DAYS = 12; // get last 12 dates.

for (let i = 0; i < NUM_OF_DAYS; i++) {
let date = moment();
date.subtract(i, 'day').format('DD-MM-YYYY');
dates.push(date);
}

console.log(dates);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

关于javascript - 使用 Moment.js 获取最后 X 天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51258536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com