JS根據指定日期獲取該日期所在的週一和週日
阿新 • • 發佈:2019-02-13
/** * @param 日期(yyyy-mm-dd) * @author QC * @date 2018-03-15 * */ getMonDayAndSunDay(datevalue) { let dateValue = datevalue; let arr = dateValue.split("-"); //月份-1 因為月份從0開始 構造一個Date物件 let date = new Date(arr[0], arr[1] - 1, arr[2]); let dateOfWeek = date.getDay();//返回當前日期的在當前周的某一天(0~6--週日到週一)let dateOfWeekInt = parseInt(dateOfWeek, 10);//轉換為整型 if (dateOfWeekInt == 0) {//如果是週日 dateOfWeekInt = 7; } let aa = 7 - dateOfWeekInt;//當前於週末相差的天數 let temp2 = parseInt(arr[2], 10);//按10進位制轉換,以免遇到08和09的時候轉換成0 let sunDay = temp2 + aa;//當前日期的週日的日期 let monDay = sunDay - 6;//當前日期的週一的日期 let startDate = new Date(arr[0], arr[1] - 1, monDay); let endDate = new Date(arr[0], arr[1] - 1, sunDay); let sm = parseInt(startDate.getMonth()) + 1;//月份+1 因為月份從0開始 let em = parseInt(endDate.getMonth()) + 1; // alert("星期一的日期:"+startDate.getFullYear()+"-"+sm+"-"+startDate.getDate()); // alert("星期日的日期:"+endDate.getFullYear()+"-"+em+"-"+endDate.getDate());let start = startDate.getFullYear() + "-" + sm + "-" + startDate.getDate(); let end = endDate.getFullYear() + "-" + em + "-" + endDate.getDate(); let result = []; result.push(start); result.push(end); return result; }, getDate() { let dt = new Date() let start = new Date(dt.getFullYear(), dt.getMonth(), 1) let start_ = new Date(this.getMonDayAndSunDay(start.Format('yyyy-MM-dd'))[0]) let end = new Date(dt.getFullYear(), dt.getMonth() + 1, 5) let end_ = new Date(this.getMonDayAndSunDay(end.Format('yyyy-MM-dd'))[1]) this.changeMonth(start_, end_); },