1. 程式人生 > >JS根據指定日期獲取該日期所在的週一和週日

JS根據指定日期獲取該日期所在的週一和週日

/**
 * @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_); },