您的位置:首页 > 其它

润乾报表v4-自定义函数计算两个日期之间的假期数

2016-11-30 09:26 477 查看
问题描述:
客户要求计算两个日期之间的工作天数,几经周折之下想到了一个反过来计算的方法,为什么不求出两个日期之间的假期和两个日期之间的实际天数,然后来进行相减操作呢?
 
解决方法:
由于函数不包含计算假期的函数,所以得通过自定义函数实现
 
主要思路:
1写一个获得日期的下一天的函数
2 写一个判断日期是否周末的函数
3 通过两个数组(a 特殊周末数组  b 国家假期数组)来对起始日期到结束日期的循环遍历判断是否属于这两个数组
 
部分代码:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
 
public class hlDay {
      /**
      * 获得指定日期的后一天
      * @param cal
      * @return
      */
public  static String getNextDay(String cal, int i){
      Calendar c = Calendar.getInstance();
      Date date=null;
      try {
           date = new SimpleDateFormat(“yyyy/MM/dd”).parse(cal);
      } catch (ParseException e) {
      e.printStackTrace();
      }
      c.setTime(date);
      int day=c.get(Calendar.DATE);
      c.set(Calendar.DATE,day+i);
 
      String dayAfter=new SimpleDateFormat(“yyyy/MM/dd”).format(c.getTime());
      return dayAfter;
}
//判断是否是周末
public static boolean isWeekend(String cal) {
      Calendar c = Calendar.getInstance();
      Date date=null;
      try {
           date = new SimpleDateFormat(“yyyy/MM/dd”).parse(cal);
      } catch (ParseException e) {
           e.printStackTrace();
      }
      c.setTime(date);
      if(c.get(Calendar.DAY_OF_WEEK)-1 == 0 || c.get(Calendar.DAY_OF_WEEK)- 1 == 6) {
           return true;
      } else{
           return false;
      }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: