1.時間轉爲本週第幾周的問題,首先jspjava
<input readonly class="easyui-textbox Wdate" type="text" id="weekFmt1" name="weekFmt1" value=""onclick="WdatePicker({isShowWeek:true,el:'chooseDate1',dateFmt:'yyyy-MM-dd',oncleared:funclean1,onpicked:funccc1})" style="width:60%;"/>ajax
而後js:經過之後js就能將選擇的時間轉爲當年的第幾周jsp
//週日期選擇 function funccc1(){ var year = $dp.cal.getP('y'); if($dp.cal.getP('M')==12 && $dp.cal.getP('W')==1){//若選擇的日期是月份12可是返回的周爲1 year = parseInt(year)+1; } if($dp.cal.getP('M')==1 && $dp.cal.getP('W')>50){//若選擇的日期是月份1可是返回的周很大 year = parseInt(year)-1; } var week = $dp.cal.getP('W','WW'); var weekFmt = year+"年"+$dp.cal.getP('W','WW')+"周"; $("#weekFmt1").val(weekFmt); $.ajax({ cache: true, type: "POST", url:'weekplantask_formateWeek.do', data:{year:year,week:week}, async: false, success: function(result) { if (result.StartDayOfWeekNo == undefined) { result = eval('(' + result + ')'); } var StartDayOfWeekNo=result.StartDayOfWeekNo; var EndDayOfWeekNo=result.EndDayOfWeekNo; $('#showbegdate1').text(StartDayOfWeekNo); $('#showbegdate2').text('至'+EndDayOfWeekNo); } }); } //週日期清除 function funclean1(){ $("#week1").val(""); $("#weekFmt1").val(""); return; }
3.若是須要本週星期一的開始日期 以及本週的結束日期,經過ajax去後臺處理,附上代碼:async
首先經過週期獲取年周工具
String year1=request.getParameter("year");
String week1=request.getParameter("week");
int year=Integer.valueOf(year1);
int week=Integer.valueOf(week1);ui
而後經過工具類獲取每一天的日期:eg:2015年12周url
import java.util.Calendar; public class WeekUtils { /* public static void main(String[] args) { WeekUtils cd = new WeekUtils(); System.out.println("開始時間: " + cd.getStartDayOfWeekNo(2017,9) ); System.out.println("結束時間:" + cd.getEndDayOfWeekNo(2017,9) ); }*/ /** * get first date of given month and year * @param year * @param month * @return */ public String getFirstDayOfMonth(int year,int month){ String monthStr = month < 10 ? "0" + month : String.valueOf(month); return year + "-"+monthStr+"-" +"01"; } /** * get the last date of given month and year * @param year * @param month * @return */ public String getLastDayOfMonth(int year,int month){ Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR , year); calendar.set(Calendar.MONTH , month - 1); calendar.set(Calendar.DATE , 1); calendar.add(Calendar.MONTH, 1); calendar.add(Calendar.DAY_OF_YEAR , -1); return calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH); } /** * get Calendar of given year * @param year * @return */ private Calendar getCalendarFormYear(int year){ Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); cal.set(Calendar.YEAR, year); return cal; } /** * get start date of given week no of a year * @param year * @param weekNo * @return */ public String getStartDayOfWeekNo(int year,int weekNo){ Calendar cal = getCalendarFormYear(year); cal.set(Calendar.WEEK_OF_YEAR, weekNo); return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH); } /** * 週二 * @param year * @param weekNo * @return */ public String getTuesdayOfWeekNo(int year,int weekNo){ Calendar cal = getCalendarFormYear(year); cal.set(Calendar.WEEK_OF_YEAR, weekNo); cal.add(Calendar.DAY_OF_WEEK, 1); return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH); } /** * 週三 * @param year * @param weekNo * @return */ public String getWednesdayOfWeekNo(int year,int weekNo){ Calendar cal = getCalendarFormYear(year); cal.set(Calendar.WEEK_OF_YEAR, weekNo); cal.add(Calendar.DAY_OF_WEEK, 2); return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH); } /** * 週四 * @param year * @param weekNo * @return */ public String getThursdayOfWeekNo(int year,int weekNo){ Calendar cal = getCalendarFormYear(year); cal.set(Calendar.WEEK_OF_YEAR, weekNo); cal.add(Calendar.DAY_OF_WEEK, 3); return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH); } /** * 週五 * @param year * @param weekNo * @return */ public String getFridayOfWeekNo(int year,int weekNo){ Calendar cal = getCalendarFormYear(year); cal.set(Calendar.WEEK_OF_YEAR, weekNo); cal.add(Calendar.DAY_OF_WEEK, 4); return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH); } /** * get the end day of given week no of a year. * @param year * @param weekNo * @return */ public String getEndDayOfWeekNo(int year,int weekNo){ Calendar cal = getCalendarFormYear(year); cal.set(Calendar.WEEK_OF_YEAR, weekNo); cal.add(Calendar.DAY_OF_WEEK, 6); return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH); } }
第一張的日期做法如上!code
2.orm
<input id="benDate" name="benDate" class="Wdate" style="height:32px; width: 140px; cursor: hand; vertical-align: middle;margin-left:0px;" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'%y-%M-%d',maxDate:'#F{$dp.$D(\'endDate\')}'})" /> ~ <td class="td_t" align="left"> <input id="endDate" name="endDate" class="Wdate" style="height:32px;width:140px; cursor: hand; vertical-align: middle;margin-left:0px;" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'benDate\')}'})" /> </td> $(function(){ //初始化開始和結束日期 $('#benDate').val(_getCurDate()); $('#endDate').val(_getCurDate());}
三、月份get
<input id="taskMonth" name="taskMonth" readonly class="Wdate" style="width: 140px; cursor: hand; vertical-align: middle;" onclick="WdatePicker({dateFmt:'yyyy-MM'})" />