首先定義兩個方法,相當於進行了封裝
/** * * @param dateNow :Date類 * @param intervalDays :間隔天數 * @param bolPastTime :Boolean,判斷在參數date之前,還是之后, */ function getDateRange(dateNow,intervalDays,bolPastTime){ let oneDayTime = 24 * 60 * 60 * 1000; let list = []; let lastDay; if(bolPastTime == true){ lastDay = new Date(dateNow.getTime() - intervalDays * oneDayTime); list.push(this.formateDate(lastDay)); list.push(this.formateDate(dateNow)); }else{ lastDay = new Date(dateNow.getTime() + intervalDays * oneDayTime); list.push(this.formateDate(dateNow)); list.push(this.formateDate(lastDay)); } return list; } function formateDate(time){ let year = time.getFullYear() let month = time.getMonth() + 1 let day = time.getDate() if (month < 10) { month = '0' + month } if (day < 10) { day = '0' + day } return year + '-' + month + '-' + day + '' }
具體獲取數據如下:(調用上面方法即可)
//獲取當前日期(2020-03-24) var date = new Date(); var list = this.getDateRange(date,6,true) console.log("獲取近一周日期范圍:\n開始日期:"+list[0]+";\n結束日期:"+list[1]); var list = this.getDateRange(date,30,true) console.log("獲取近一個月日期范圍:\n開始日期:"+list[0]+";\n結束日期:"+list[1]); var list = this.getDateRange(date,0,true) console.log("獲取今天日期范圍:\n開始日期:"+list[0]+";\n結束日期:"+list[1]); var list = this.getDateRange(date,1,true) console.log("獲取昨天日期范圍:\n開始日期:"+list[0]+";\n結束日期:"+list[0]); var list = this.getDateRange(date,6,false) console.log("獲取下一周日期范圍:\n開始日期:"+list[0]+";\n結束日期:"+list[1]); var list = this.getDateRange(date,30,false) console.log("獲取下一個月日期范圍:\n開始日期:"+list[0]+";\n結束日期:"+list[1]);
具體打印結果還請親自動手測試;
參考原文:https://blog.csdn.net/qq_41090476/article/details/96133830