项目中需要前端给后端传最近一周的日期去获取数据,看到网上很多获取一周时间的方法都写得很麻烦,代码太多看着很不简洁,实在是受不了就自己写了一个方法,代码如下:


getWeektime() {
  let myDate = new Date(); // 获取今天日期
  const dateArray = [];
  for (let i = 0; i < 7; i++) {
    dateArray.push(myDate.toLocaleDateString());
    myDate.setDate(myDate.getDate() - 1);
  }
  return dateArray
},

最后返回的数据是倒序的
在这里插入图片描述

想要正序可以最后给dateArray翻转一下,或者先获取一周第一天的数据再将后面的每一天push进去

getWeektime() {
  let myDate = new Date(); 
  myDate.setDate(myDate.getDate() - 6);
  const dateArray = [];
  for (let i = 0; i < 7; i++) {
    dateArray.push(myDate.toLocaleDateString());
    myDate.setDate(myDate.getDate() + 1);
  }
  return dateArray;
},

在这里插入图片描述


补充一下:后面又看到需求说要获取当前周的周一到周日的日期,所以重新修改了一下
(只获取了当前周的周一、周日的日期,想得到一周的数据可以自己写一个循环)

getWeektime() {
  let monday = new Date();
  let sunday = new Date();
  const nowDay = (new Date()).getDay() || 7;
  monday.setDate(monday.getDate() - nowDay + 1);
  sunday.setDate(sunday.getDate() - nowDay + 7);
  return {
    monday: monday.toLocaleDateString(),
    sunday: sunday.toLocaleDateString(),
  };
},

在这里插入图片描述

Logo

前往低代码交流专区

更多推荐