从星期几中获取日期Javascript
我的数据库中有一个模型,其中包含一个名为“AvailableDays”[0...6] 的数组。0 = 周日 & 6 = 周六。我希望将一周中的这一天数转换为本周中的某一天的日期。
例如,这是分解的逻辑
- 检索可用天数列表 (
const availableDays = [0,2,4,6]) - 获取当前日期 (
const today = new Date('2021-08-20');) - 将日期数字转换为日期 (
output =['15-08-2021', '17-08-2021', '19-08-2021', '21-08-2021'])
回答
您可以做的是从给定Date实例中获取星期几,并计算出可用天的偏移量。
然后从给定日期中减去以天为单位的偏移量以产生您的结果。
const transformDate = (date, day) => {
const offset = date.getDay() - day
const d = new Date(date)
d.setDate(d.getDate() - offset)
return d
}
const availableDays = [0,2,4,6]
const today = new Date("2021-08-20")
console.log(availableDays.map(day => transformDate(today, day)))