JS实现·上周·本周·下周的获取

453 阅读1分钟

花时间消化一下还是可以的

//获取上周起始时间结束时间、下周起始时间结束时间开始时间和本周起始时间结束时间;(西方)
function getTime(n) {
  var now = new Date();
  var year = now.getFullYear();
  //因为月份是从0开始的,所以获取这个月的月份数要加1才行
  var month = now.getMonth() + 1;
  var date = now.getDate();
  var day = now.getDay();
  console.log(date);
  //判断是否为周日,如果不是的话,就让今天的day-1(例如星期二就是2-1)
  if (day !== 0) {
    n = n + (day - 1);
  } else {
    n = n + day;
  }
  if (day) {
    //这个判断是为了解决跨年的问题
    if (month > 1) {
      month = month;
    }
    //这个判断是为了解决跨年的问题,月份是从0开始的
    else {
      year = year - 1;
      month = 12;
    }
  }
  now.setDate(now.getDate() - n);
  year = now.getFullYear();
  month = now.getMonth() + 1;
  date = now.getDate();
  // console.log(n);
  var s = year + "-" + (month < 10 ? ('0' + month) : month) + "-" + (date < 10 ? ('0' + date) : date);
  return s;
}


//上周的开始时间
// console.log(getTime(7));
//上周的结束时间
// console.log(getTime(1));
//本周的开始时间
// console.log(getTime(0));
//本周的结束时间
// console.log(getTime(-6));
//下周的开始时间
// console.log(getTime(-7));
//下周结束时间
// console.log(getTime(-13));


由于本人项目需求 需要连续点击上周和连续点击下周 那我就data里面给个变量 
/如果要实现可以连续点击上周下周功能 只需要在data加个默认值参数 然后进行加加减减即可 具体操作
// timenum:1,上周默认参数 timenum1:-7,下周默认参数
上周
    this.end_time = this.getTime(this.timenum) //小细节 可以把要操作得加减放在后面 这样得话就不会影响数据了
    this.begin_time = this.getTime(this.timenum+=7)
   // console.log("上周",this.begin_time,this.end_time)
下周
    this.begin_time = this.getTime(this.timenum1)
    this.end_time = this.getTime(this.timenum1-=7)
    //console.log("下周",this.begin_time,this.end_time)


	//点击本周就把上周和下周的值恢复
    this.timenum = 1
    this.timenum1 = -7