首页 > 解决方案 > 使用 javascript 获取今天之前的所有 90 天

问题描述

我想将今天之前的所有 90 天作为一个数组。我无法在 StackOverflow 或 Google 中找到任何解决方案。

const now = new Date(); 
const daysBefore = now.setDate(priorDate.getDate() - 90);

我的预期结果是今天前 90 天的数组:

const days = [
 '2021-06-03T05:45:36.685Z',
 '2021-06-02T05:45:36.685Z',
 '2021-06-01T05:45:36.685Z',
 '2021-05-30T05:45:36.685Z',
 ...
]

标签: javascriptarraystypescript

解决方案


通过创建一个长度为 90 的新数组并将每个条目映射到现在减去索引天数的新日期来创建日期数组

const now = new Date()
const length = 90

const days = Array.from({ length }, (_, days) => {
  let day = new Date(now) // clone "now"
  day.setDate(now.getDate() - days) // change the date
  return day
})

console.log(days)

这将创建从现在开始并返回 90 天(降序)的Date实例数组。

也可以看看Array.from()


推荐阅读