根据日期返回对应周包含的7天日期,实际应用场景,制作一周食谱的时候,需要选中日期周对应的7天时间
- 先下载
dayjs插件npm i dayjs --save
// 获取周7天的日期
getWeekDays() {
let oneDayTime = 24 * 60 * 60 * 1000;
let now = this.currentWeekDay ? this.currentWeekDay : new Date();
let nowTime = now.getTime();
// getDay() 方法可返回一周(0~6)的某一天的数字。星期天为 0, 星期一为 1, 以此类推。
let day = now.getDay();
// 星期一到星期日
let day1 = "",
day2 = "",
day3 = "",
day4 = "",
day5 = "",
day6 = "",
day7 = "";
if (day === 0) {
// 如果是周日
day1 = dayjs(nowTime - 6 * oneDayTime).format("YYYY-MM-DD");
day2 = dayjs(nowTime - 5 * oneDayTime).format("YYYY-MM-DD");
day3 = dayjs(nowTime - 4 * oneDayTime).format("YYYY-MM-DD");
day4 = dayjs(nowTime - 3 * oneDayTime).format("YYYY-MM-DD");
day5 = dayjs(nowTime - 2 * oneDayTime).format("YYYY-MM-DD");
day6 = dayjs(nowTime - 1 * oneDayTime).format("YYYY-MM-DD");
day7 = dayjs(nowTime).format("YYYY-MM-DD");
} else if (day === 1) {
// 如果是周一
day1 = dayjs(nowTime).format("YYYY-MM-DD");
day2 = dayjs(nowTime + 1 * oneDayTime).format("YYYY-MM-DD");
day3 = dayjs(nowTime + 2 * oneDayTime).format("YYYY-MM-DD");
day4 = dayjs(nowTime + 3 * oneDayTime).format("YYYY-MM-DD");
day5 = dayjs(nowTime + 4 * oneDayTime).format("YYYY-MM-DD");
day6 = dayjs(nowTime + 5 * oneDayTime).format("YYYY-MM-DD");
day7 = dayjs(nowTime + 6 * oneDayTime).format("YYYY-MM-DD");
} else {
day1 = dayjs(nowTime - (day - 1) * oneDayTime).format("YYYY-MM-DD");
day2 = dayjs(nowTime + (2 - day) * oneDayTime).format("YYYY-MM-DD");
day3 = dayjs(nowTime + (3 - day) * oneDayTime).format("YYYY-MM-DD");
day4 = dayjs(nowTime + (4 - day) * oneDayTime).format("YYYY-MM-DD");
day5 = dayjs(nowTime + (5 - day) * oneDayTime).format("YYYY-MM-DD");
day6 = dayjs(nowTime + (6 - day) * oneDayTime).format("YYYY-MM-DD");
day7 = dayjs(nowTime + (7 - day) * oneDayTime).format("YYYY-MM-DD");
}
this.days = [day1, day2, day3, day4, day5, day6, day7];
console.log(this.days, "days");
return this.days;
},