如何解决使用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-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(...)
参考@ 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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。