<el-date-picker v-model="valueWeek" type="week" format="yyyy 第 WW 周" :picker-options="{'firstDayOfWeek':1}" //将日历起始星期设为星期一 placeholder="选择周" @change="valueWeekChange"> </el-date-picker>
//通过时间获取时间所属的一周范围 valueWeekChange(val){ console.log(val) // this.weekGetDate(2022,14) const one_day = 86400000;// 24 * 60 * 60 * 1000; const date = val; const day = date.getDay();// 返回0-6,0表示周日 // 设置时间为当天的0点 date.setHours(0); date.setMinutes(0); date.setSeconds(0); date.setMilliseconds(0); const week_start_time = date.getTime() - (day - 1) * one_day; const week_end_time = date.getTime() + (7 - day) * one_day; let unixTimeStamp = new Date( week_start_time ) ; let unixTimeEtamp = new Date( week_end_time ) ; Date.prototype.toLocaleString = function() { return this.getFullYear() + "-" + (this.getMonth() + 1) + "-" + this.getDate() }; console.log(unixTimeStamp.toLocaleString()) console.log(unixTimeEtamp.toLocaleString()) },
//通过时间获取一周详细时间 valueWeekChange(data) { console.log(data) //根据日期获取本周周一~周日的年-月-日 var weekList = []; var date = new Date(data); //判断本日期是否为周日,获取本周一日期 if(date.getDay()=="0"){ date.setDate(date.getDate() -6); }else { date.setDate(date.getDate() - date.getDay() + 1); } var myDate=date.getDate(); var myMonth=date.getMonth() + 1; if(date.getDate()<10){ myDate= '0'+ myDate; } if(date.getMonth() + 1<10){ myMonth='0'+myMonth; } weekList.push(date.getFullYear() + "-" + myMonth+ "-" + myDate); // 获取周二以后日期 for(var i=0;i<6;i++) { date.setDate(date.getDate() + 1); myDate=date.getDate(); myMonth=date.getMonth() + 1; if(date.getDate()<10){ myDate= '0'+ myDate; } if(date.getMonth() + 1<10){ myMonth='0'+myMonth; } weekList.push(date.getFullYear() + "-" + myMonth+ "-" +myDate); } console.log(weekList); return weekList },