首页 > 解决方案 > 如何使用时刻动态从周数中找到周开始日期

问题描述

如何使用moment js从周数动态获取一周开始日期

我的开始日期可以是新日期或未来日期,并且我有动态计算周数,这是我需要找到周开始日期的日期表格。例如,如果我有 21 天,这意味着三周,我需要找到每周的开始日期。我尝试了一些代码。

weeklyFun = (value, date) => {
   const totaldays = (value * 7);
   const endDate = moment(date, "DD-MM-YYYY").add(totaldays, 'd').format("DD-MM-YYYY");
}

this.weeklyFun(3, '18-10-2019');

我的预期输出是 21 天 18-10-2019、25-10-2019、01-11-2019

标签: javascriptmomentjs

解决方案


Moment 有一个.day()函数,它返回那一天的数字是从那一周的时刻 docs .day()

const date = moment("2019-10-21");
const dow = date.day();

在您的情况下,您可以创建一个检查当前日期是否等于 1 的函数:

const isFirstDayOfTheWeek= date => moment(date).day() === 1

console.log(isFirstDayOfTheWeek("2019-10-21")) // true
console.log(isFirstDayOfTheWeek("2019-10-22")) // false

推荐阅读