今天遇到一个问题,就是页面上有两个地方需要填写开始时间可结束时间,但是开始时间和结束时间是有要求的,就是在选择一个日期的时候开始时间和结束实际地动填写上当前日期的周一和周日的日期(这话说着这么别嘴啊。)于是,就自己写个方法,今日特此记录以后备后用。
/** * @param 页面日期控件取得的日期(yyyy-mm-dd) * @author rockjava * @date 2008-12-23 * */ function getMonDayAndSunDay(datevalue){ var dateValue = datevalue; var arr = dateValue.split("-") //月份-1 因为月份从0开始 构造一个Date对象 var date = new Date(arr[0],arr[1]-1,arr[2]); var dateOfWeek = date.getDay();//返回当前日期的在当前周的某一天(0~6--周日到周一) var dateOfWeekInt = parseInt(dateOfWeek,10);//转换为整型 if(dateOfWeekInt==0){//如果是周日 dateOfWeekInt=7; } var aa = 7-dateOfWeekInt;//当前于周末相差的天数 var temp2 = parseInt(arr[2],10);//按10进制转换,以免遇到08和09的时候转换成0 var sunDay = temp2+aa;//当前日期的周日的日期 var monDay = sunDay-6//当前日期的周一的日期 var startDate = new Date(arr[0],arr[1]-1,monDay); var endDate = new Date(arr[0],arr[1]-1,sunDay); var sm = parseInt(startDate.getMonth())+1;//月份+1 因为月份从0开始 var em = parseInt(endDate.getMonth())+1; // alert("星期一的日期:"+startDate.getYear()+"-"+sm+"-"+startDate.getDate()); // alert("星期日的日期:"+endDate.getYear()+"-"+em+"-"+endDate.getDate()); var start = startDate.getYear()+"-"+sm+"-"+startDate.getDate(); var end = endDate.getYear()+"-"+em+"-"+endDate.getDate(); var result = new Array(); result.push(start); result.push(end); return result; }