獲取當前周和前一週週一和周天,下一週週一和周天
阿新 • • 發佈:2019-01-14
需求場景:頁面預設進來拿到本週資料。如下圖要展示週一到周天,點選上一週切換上一週資料,可以一直點選上一週。或者下一週。
獲取本週週一到周天的資料
methods: { getWeekTime: function () { let now = new Date(); let nowTime = now.getTime(); let day = now.getDay(); let oneDayLong = 24 * 60 * 60 * 1000; let MondayTime = nowTime - (day - 1) * oneDayLong; let SundayTime = nowTime + (7 - day) * oneDayLong; let monday = new Date(MondayTime); let strDate = monday.getDate() let sunday = new Date(SundayTime); let endDate = sunday.getDate(); let year = now.getFullYear(); let month = now.getMonth() + 1;if (month >= 1 && month <= 9) month = "0" + month; if (strDate >= 0 && strDate <= 9) strDate = "0" + strDate; let seperator1 = "-"; // 週一 this.startTime = year + seperator1 + month + seperator1 + strDate; // 周天 this.endTime = year + seperator1 + month + seperator1 + endDate; }, }
獲取上一週的週一到周天
1 lastWeekDate: function (data) { 2 // 獲取當前日期 3 let now = new Date(); 4 // 獲取當月的第幾天 5 let day = now.getDate(); 6 /** 7 * 上個周的今天(獲取今天的前data天的日期) 8 * 例如 data = 7; 9 * day = 今天是10號 10 * setDate(10-7)即設定為今天的前7天 11*/ 12 let ss = new Date(now.setDate(day - data)); 13 /** ss是今天的前7天的多少號 14 * ss.getDay()是ss號的周幾, 15 * 例如今天是週四 16 * 要計算到上週的週一,(週四距離週一是三天),即ss.getDay()-1 = 4-1 = 3; 17 * days = 3天; 18 */ 19 let days = ss.getDay() - 1; 20 /** 21 * days在這裡視為距離週一的時間 22 * 設定為週一的日期 23 */ 24 let start = new Date(ss.setDate(ss.getDate() - days)); 25 let _start = new Date(start); 26 let end = _start.setDate(_start.getDate() + 6); 27 return `${start.getFullYear()}-${start.getMonth() + 1}-${start.getDate()}/${end.getFullYear()}-${end.getMonth() + 1}-${end.getDate()}` 28 },
呼叫lastWeekDate方法
LastWeek() { this.dataTime += 7; console.log(this.lastWeekDate(this.dataTime)); },