小白干货分享------vue 点击获取当前时间上/下周 整周数据

336 阅读1分钟
实现思路: 1.获取本周 一周的时间日期


 getTime(time) {
 //time = 7下周  -7上周   0本周
      let date = new Date(); //this.chaoZuoTime
      let currentFirstDate = new Date(date);

      let formatDate = function(date) {
        // console.log(date);
        let year = date.getFullYear(); //年
        let month = date.getMonth() + 1; //月
        let day = date.getDate(); //日;
        // let arr = ["日", "一", "二", "三", "四", "五", "六"];
        let week = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"][
          date.getDay()
        ];
        //我需要的格式是  (周几 月.日) 这里看你们的需求
        return week + " " + month + "." + day;
      };

      let addDate = function(date, n) {
        // console.log(date.getDate() + n);
        date.setDate(date.getDate() + n);
        return date;
      };

      let setDate = function(date) {
        let week = date.getDay() - 1;
        date = addDate(date, week * -1);
        currentFirstDate = new Date(date);
        let weekList = [];
        for (let i = 0; i < 7; i++) {
          weekList[i] = formatDate(i == 0 ? date : addDate(date, 1));
        }
        return weekList;
      };

      // let upWeek = setDate(addDate(currentFirstDate, -7));
      this.thisWeek = setDate(addDate(currentFirstDate, time)); //本周
      // let nextWeek = setDate(addDate(currentFirstDate, 7)); //下周
      // let today = formatDate(date); //今日日期
      // console.log(thisWeek); 
    }

 效果--本周



2. 实现点击上周/下周 思路:先获取上周今天的时间,比如今天5月29日 上周的今天就是5月22日 通过setDate 传入 正负7来控制



//获取上周今天的时间/下周今天的时间
    fun_date(num, data) {
    //num = 7/-7
    //data = 今天的日期   ps:因为还需要获取上上周的日期 ,所以需要一个变量 来存储上周今天的日期
      let date1 = new Date(data);
      //今天时间
      let time1 =
        date1.getFullYear() +
        "-" +
        (date1.getMonth() + 1) +
        "-" +
        date1.getDate();
      console.log(time1);
      let date2 = new Date(date1);
      date2.setDate(date1.getDate() + num);
      //num是正数表示之后的时间,num负数表示之前的时间,0表示今天
      let time2 =
        date2.getFullYear() +
        "-" +
        (date2.getMonth() + 1) +
        "-" +
        date2.getDate();
      this.chaoZuoTime = time2; //返回上周今天的时间,用变量储存
    },

3.调用

   getHeader(num) {
      //上周
      if (num == -7) {
        this.getTime(-7, this.fun_date(-7, this.chaoZuoTime));
      } else {
        this.getTime(7, this.fun_date(7, this.chaoZuoTime));
      }
    },

如果写的有问题,请指出,谢谢~小白轻喷~!