您的位置:首页 > 其它

通过选择时间获取当前时间属于本年的第几周的方法以及其他几种时间控件

2017-03-06 00:00 681 查看
1.时间转为本周第几周的问题,首先jsp

<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%;"/>

然后js:通过以后js就能将选择的时间转为当年的第几周

//周日期选择
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去后台处理,附上代码:

首先通过周期获取年周

String year1=request.getParameter("year");
String week1=request.getParameter("week");
int year=Integer.valueOf(year1);
int week=Integer.valueOf(week1);

然后通过工具类获取每一天的日期:eg:2015年12周

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);
}
}

第一张的日期作法如上!

2.

<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());}

3、月份

<input id="taskMonth" name="taskMonth" readonly
class="Wdate" style="width: 140px; cursor: hand; vertical-align: middle;"
onclick="WdatePicker({dateFmt:'yyyy-MM'})" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: