用ajax检查日期是否是节假日期

1、用jsp脚本编写,或者service逻辑层编写,用ajax访问

try{
  String date = "";
  String cloneType = "";
  String strTemp="";
  strTemp = request.getParameter("cloneType");
  if(strTemp!=null&&strTemp.trim().length()>0)
  {
   cloneType = strTemp.trim();
  }
  strTemp = request.getParameter("date");
  if(strTemp!=null&&strTemp.trim().length()>0)
  {
   date = strTemp;
  }
     ApplyBiz biz= new ApplyBiz();
  if("1".equals(cloneType)){   //判单节假日
     List holidayList = new ArrayList();
     String year=String.valueOf(Calendar.getInstance() .get(Calendar.YEAR));
    long lReturn=-1;
      //添加节假日
      holidayList.add(biz.doAddHolidayList(year+"-12-30"));//元旦
      holidayList.add(biz.doAddHolidayList(year+"-12-31"));//元旦
      holidayList.add(biz.doAddHolidayList(year+"-07-20"));//测试日期
      //返回判断的值
      lReturn = biz.dateJudgment(date,holidayList);
      out.println("{\"lReturn\":"+lReturn+"}");
      }
 }catch(Exception e){
  e.printStackTrace();
 }
   

2、编写js的ajax代码 url是访问逻辑层的地址,返回值判断是否是假期

//判断是否是周六日
  function dateJudgment(date){
   var lReturn=-1;
   var lReturnDate=date;
   
   $.ajax({
    type: 'POST',
    url:'<%=strContext%>/apply/control/c001_ajax.jsp',
    data:{
    	cloneType:"1",
        date:lReturnDate
      },
      dataType:"json",
    async:false,
    success:function(data){
       lReturn=data.lReturn;
    }
    });
      
   return lReturnDate;
  }

3、java中ApplyBiz的代码,逻辑层调用的方法dateJudgment(String ,List ) ,和doAddHolidayList(String)方法

/**
  * 
  * 方法名称:dateJudgment
  * 方法描述:(根据输入的的日期判断是否为周六日)
  */
 public long dateJudgment(String date,List holidayList) 
 throws ParseException
 {
 	long  lReturnId=-1;
         DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
         Date bdate = format1.parse(date);
         Calendar cal =Calendar.getInstance();
         cal.setTime(bdate);
         if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){
          lReturnId = 1;
         } else{
         for(int i=0;i<holidayList.size();i++){
           Calendar holiday=(Calendar)holidayList.get(i);
                 if(holiday.get(Calendar.MONTH) == cal.get(Calendar.MONTH) &&
                   holiday.get(Calendar.DAY_OF_MONTH) == cal.get(Calendar.DAY_OF_MONTH)&&
                   holiday.get(Calendar.YEAR) == cal.get(Calendar.YEAR))
                 {
                     lReturnId = 1;
                 }
          }
         }
        return lReturnId;
 }

/**
  * 
  * 方法名称:doAddHolidayList
  * 方法描述:(将日期设置成Calendar返回ajax,用户维护节假日)
  */
 public Calendar doAddHolidayList(String date){
      String [] da = date.split("-");
       Calendar calendar = Calendar.getInstance();
       calendar.set(Calendar.YEAR, Integer.valueOf(da[0]));
       calendar.set(Calendar.MONTH, Integer.valueOf(da[1])-1);//月份比正常小1,0代表一月
       calendar.set(Calendar.DAY_OF_MONTH, Integer.valueOf(da[2]));
       return calendar;
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值