实现思路:
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);
}
效果–本周
- 实现点击上周/下周
思路:先获取上周今天的时间,比如今天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,项目里改完,博客没有更新,很感谢小伙伴们找出问题。
如果写的有问题,请指出,谢谢小白轻喷!