vue 点击获取当前时间上/下周 整周数据

实现思路:
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); 
    }

效果–本周
在这里插入图片描述

  1. 实现点击上周/下周
    思路:先获取上周今天的时间,比如今天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));
        this.getTime(0, this.fun_date(-7, this.chaoZuoTime));
      } else {
        //this.getTime(7, this.fun_date(7, this.chaoZuoTime));
        this.getTime(0, this.fun_date(7, this.chaoZuoTime))
      }
    },
    //这里发有朋友发先了一个问题,这里我传值的时候传错了,第一个参数应该是0,项目里改完,博客没有更新,很感谢小伙伴们找出问题。

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

你可能感兴趣的:(vue.js,javascript)