获得最后一个星期一



我试图从本周获得周一的凌晨 12 点,所以要么今天(如果当天是星期一(,要么回顾上周一。

我有以下代码,但不确定从这里开始。


Date date = new Date(); date.setDate(date.getDate()

不知道在这里做什么

let day = new Date();  // Get current date
day.setDate(day.getDate() - (day.getDay() + 6));
console.log(day.getDay());  // is 1

一般方法是这样的:

  1. 获取当前日期。你已经有了这个const date = new Date();
  2. 检查当前日期是否为星期一。date.getDay()会给你一个0-6的数字,对应于周日至周六。
  3. 如果今天不是星期一,请更改日期以减去足够的天数,使我们达到星期一。date.getDay()会给你回到星期日的天数,然后我们需要再往后移6天才能回到上一个星期一:date.setDate(date.getDate() - date.getDay() - 6);
  4. 现在日期肯定是星期一,请将时间更改为上午 12:00:date.setHours(00, 00, 00);

把所有的东西放在一起:

const date = new Date();
if (date.getDay() !== 1) {
date.setDate(date.getDate() - date.getDay() - 6);
}
date.setHours(00,00,00);

最新更新