根据星期自动计算离现今最近的日期

来源:互联网 发布:自动弹幕软件 编辑:程序博客网 时间:2024/06/05 15:57
//根据星期数自动计算最近日期function calDateByWeek(){var startweek=$("#startweek").val();var startWeekHour=$("#startWeekHour").val();var startWeekMin=$("#startWeekMin").val();var endweek=$("#endweek").val();var endWeekHour=$("#endWeekHour").val();var endWeekMin=$("#endWeekMin").val();var startDate = new Date();startDate.setHours(startWeekHour);startDate.setMinutes(startWeekMin);var endDate = new Date();endDate.setHours(endWeekHour);endDate.setMinutes(endWeekMin);if(startweek!=''&&endweek!=''){if(startweek<endweek){if(endDate.getDay()>endweek){//例:周一到周三startDate.setDate(startDate.getDate()-(startDate.getDay()-startweek));endDate.setDate(endDate.getDate()-(endDate.getDay()-endweek));}else if(endDate.getDay()<=endweek){startDate.setDate(startDate.getDate()-(startDate.getDay()-startweek)-7);endDate.setDate(endDate.getDate()-(endDate.getDay()-endweek)-7);}}else if(startweek>=endweek){//例:周四到周一或周一到周一if(endDate.getDay()>endweek){startDate.setDate(startDate.getDate()-(startDate.getDay()-startweek)-7);endDate.setDate(endDate.getDate()-(endDate.getDay()-endweek));}else if(endDate.getDay()<=endweek){startDate.setDate(startDate.getDate()-14+(startweek-startDate.getDay()));endDate.setDate(endDate.getDate()-7+(endweek-endDate.getDay()));}}//alert(startDate.toLocaleString()+" "+endDate.toLocaleString());//alert(startDate.getTime()+" "+endDate.getTime());$("#starttime").attr("value",startDate.getTime());$("#endtime").attr("value",endDate.getTime());}}


不废话,直接上代码

<select id="startweek" name="startweek" onchange="calDateByWeek();"><option value="">请选择</option><option value="1">周一</option><option value="2">周二</option><option value="3">周三</option><option value="4">周四</option><option value="5">周五</option><option value="6">周六</option><option value="7">周日</option></select><select id="startWeekHour" name="startWeekHour"onchange="calDateByWeek();"><c:forEach var="number" begin="0" end="23" step="1"><option value="${number}">${number}时</option></c:forEach></select><select id="startWeekMin" name="startWeekMin"onchange="calDateByWeek();"><c:forEach var="number" begin="0" end="59" step="1"><option value="${number}">${number}分</option></c:forEach></select>


 

<select id="endweek" name="endweek" onchange="calDateByWeek();"><option value="">请选择</option><option value="1">周一</option><option value="2">周二</option><option value="3">周三</option><option value="4">周四</option><option value="5">周五</option><option value="6">周六</option><option value="7">周日</option></select><select id="endWeekHour" name="endWeekHour" onchange="calDateByWeek();"><c:forEach var="number" begin="0" end="23" step="1"><option value="${number}">${number}时</option></c:forEach></select><select id="endWeekMin" name="endWeekMin" onchange="calDateByWeek();"><c:forEach var="number" begin="0" end="59" step="1"><option value="${number}">${number}分</option></c:forEach></select>


大笑