您的位置 首页 java

java计算两个日期间的工作日

public int calLeaveDays(Date startTime, Date endTime){

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);

int leaveDays = 0;

Date flag = startTime;//设置循环开始日期

Calendar cal = Calendar. getInstance ();

while(flag.compareTo(endTime)!=1){

cal.setTime(flag);

int week = cal.get(Calendar.DAY_OF_WEEK) – 1;

String ff = format.format(cal.getTime());

if(week == 0 || week == 6){

//为周六日的工作日

int gzr = zysxMapper.getHoliday(ff,0);

if(gzr > 0){

leaveDays = leaveDays + 1;

cal.add(Calendar.DAY_OF_MONTH, +1);

flag = cal.getTime();

continue;

}else{

//跳出循环进入下一个日期

cal.add(Calendar.DAY_OF_MONTH, +1);

flag = cal.getTime();

continue;

}

}

try{

int count = zysxMapper.getHoliday(ff,1);

if (count > 0){

cal.add(Calendar.DAY_OF_MONTH, +1);

flag = cal.getTime();

continue;

}

}catch ( Exception e){

e.printStackTrace();

}

//不是节假日或者周末,天数+1

leaveDays = leaveDays + 1;

//日期往后加一天

cal.add(Calendar.DAY_OF_MONTH, +1);

flag = cal.getTime();

}

return leaveDays;

}

文章来源:智云一二三科技

文章标题:java计算两个日期间的工作日

文章地址:https://www.zhihuclub.com/183408.shtml

关于作者: 智云科技

热门文章

网站地图