JS 获取一个日期所在的那一周的第一天的日期和最后一天的日期

7 min read

可以使用 Date 对象中的一些方法来获取一个日期所在的那一周的第一天的日期和最后一天的日期,具体如下:

  1. 首先创建一个 Date 对象,该对象表示要查询的日期:
var date = new Date("2021-02-20");
  1. 然后使用 Date 对象的 getDay() 方法来获取当周的第几天(0 表示星期日,1 表示星期一,以此类推):
var dayOfWeek = date.getDay();
  1. 然后计算出这一周的第一天的日期,即当前日期减去这一周已经过去的天数:
var firstDayOfWeek = new Date(date.getFullYear(), date.getMonth(), date.getDate() - dayOfWeek);
  1. 最后计算出这一周的最后一天的日期,即当前日期加上剩余的天数:
var lastDayOfWeek = new Date(date.getFullYear(), date.getMonth(), date.getDate() + (6 - dayOfWeek));

完整代码如下:

var date = new Date("2021-02-20");
var dayOfWeek = date.getDay();
var firstDayOfWeek = new Date(date.getFullYear(), date.getMonth(), date.getDate() - dayOfWeek);
var lastDayOfWeek = new Date(date.getFullYear(), date.getMonth(), date.getDate() + (6 - dayOfWeek));
console.log("第一天:" + firstDayOfWeek.toLocaleDateString());
console.log("最后一天:" + lastDayOfWeek.toLocaleDateString());

输出结果为:

第一天:2021/2/15
最后一天:2021/2/21