用Javascript获取自今天当前日期起最近7天内的每个单独日期



我正试图从今天的日期中恢复每个日期。到目前为止,我发现的每个问题都只给我一个值,而不是像下面的输出那样,每个特定的日期。我现在得到的是不断迭代减去的日期,而不是今天的日期。

期望输出:

08-17-2020, 08-16-2020, 08-15-2020, 08-14-2020, 08-13-2020, 08-12-2020, 07-11-2020

我现在得到的是:

08-17-2020,08-16-2020,08-14-2020,08-11-2020,08-7-2020,08-2-2020,07-27-2020

JS:

function convertToday(data) {
let date = new Date(data)
let year = date.getFullYear()
let month = date.getMonth() + 1
let day = date.getDate()
let formatted = "0" + month + "-" + day + "-" + year
return formatted
}
let d = new Date();
const newDate = [...Array(7)].map((a, b) => convertToday(d.setDate(d.getDate() - b)))
console.log(newDate)

这是因为您不断地更改现有的d变量。

这在node 14.0中对我有效(我想其他地方也一样(

let d = new Date();
const newDate = [...Array(7)].map((a, b) => convertToday(new Date().setDate(d.getDate() - b)))
console.log(newDate)

注意new Date().setDate(...)而不是d.setDate(...)

Reference@edo.n如果您需要返回没有时间戳的日期或重新转换日期

let d = new Date();
const newDate = [...Array(7)].map((a, b) => {const date = new Date()
date.setDate(d.getDate() - b)
return date})
console.log(newDate)

相关内容

最新更新