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