首页 > 解决方案 > 获得最后一个星期一

问题描述

我试图从本周开始获得星期一的上午 12 点,所以要么今天(如果当天是星期一),要么向后看过去的星期一。

我有以下代码,但不知道从哪里开始。

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

不知道在这里做什么

标签: javascriptnode.jstime

解决方案


一般的方法是这样的:

  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);

推荐阅读