/ * Gets a Monday (*) had a date period * Begin: Start Time * End: the end of time * WeekNum: day of the week {number} */ function getWeek (begin, end, weekNum){ var dateArr = new Array(); var stimeArr = begin.split("-");//=>["2018", "01", "01"] var etimeArr = end.split("-");//=>["2018", "01", "30"] var stoday = new Date(); stoday.setUTCFullYear(stimeArr[0], stimeArr[1]-1, stimeArr[2]); var etoday = new Date(); etoday.setUTCFullYear(etimeArr[0], etimeArr[1]-1, etimeArr[2]); var unixDb stoday.getTime = (); // number of milliseconds start time var unixDe etoday.getTime = (); // number of milliseconds end time for (var k = unixDb; k <= unixDe;) { needJudgeDate the let = msToDate (the parseInt (K)) withoutTime;. // without directly determine if this is a known period of time, then push all days if ( new new a Date (needJudgeDate) .getDay () === WEEKNUM) { dateArr.push(needJudgeDate); } k = k + 24*60*60*1000; } return dateArr; } // get the date according to the number of milliseconds function msToDate (msec) { let datetime = new Date(msec); let year = datetime.getFullYear(); let month = datetime.getMonth(); let date = datetime.getDate(); let hour = datetime.getHours(); let minute = datetime.getMinutes(); let second = datetime.getSeconds(); let result1 = year + '-' + ((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) + '-' + ((date + 1) < 10 ? '0' + date : date) + ' ' + ((hour + 1) < 10 ? '0' + hour : hour) + ':' + ((minute + 1) < 10 ? '0' + minute : minute) + ':' + ((second + 1) < 10 ? '0' + second : second); let result2 = year + '-' + ((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) + '-' + ((date + 1) < 11 ? '0' + date : date); let result = { hasTime: result1, withoutTime: result2 }; return result; } function getDayByWeekDay(day) { if (day == '星期日') { return 0; } The else IF (Day == 'Monday' ) { return . 1 ; } The else IF (Day == 'Tuesday' ) { return 2 ; } The else IF (Day == 'Wednesday' ) { return . 3 ; } The else IF (Day == 'Thursday' ) { return . 4 ; } The else IF (Day == 'Friday' ) { return . 5 ; } The else IF (Day == 'Saturday' ) { return . 6 ; } } /** * Get all dates between two dates * @param start * @param end * @returns {[]} */ function getBetweenDateStr(start,end){ var result = []; var beginDay = start.split("-"); var endDay = end.split("-"); var diffDay = new Date(); var dateList = new Array; var i = 0; diffDay.setDate(beginDay[2]); diffDay.setMonth (beginDay [ 1] -1 ); diffDay.setFullYear (beginDay [ 0 ]); result.push(start); while(i == 0){ var countDay = diffDay.getTime() + 24 * 60 * 60 * 1000; diffDay.setTime(countDay); dateList[2] = diffDay.getDate(); dateList[1] = diffDay.getMonth() + 1; dateList[0] = diffDay.getFullYear(); if(String(dateList[1]).length == 1){dateList[1] = "0"+dateList[1]}; if(String(dateList[2]).length == 1){dateList[2] = "0"+dateList[2]}; result.push(dateList[0]+"-"+dateList[1]+"-"+dateList[2]); if(dateList[0] == endDay[0] && dateList[1] == endDay[1] && dateList[2] == endDay[2]){ i = 1; } }; return result; }