/**
* 求任意两个日期间的休息日
* @param d1 第一个日期
* @param d2 第二个日期
* @return
*/
public static int getWeekends(Date d1, Date d2){
if(d1 == null || d2 == null){
return 0;
}
int count = 0;
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// 保证第二个时间一定大于第一个时间
if (c1.after(c2)) {
c2.setTime(d1);
c1.setTime(d2);
}
// 当日期c2在日期c1之后退出循环
while(c2.after(c1)){
if(c1.get(Calendar.DAY_OF_WEEK) == 1 || c1.get(Calendar.DAY_OF_WEEK) == 7){
System.out.println(c1.getTime());
count++ ;
}
// 天数加1
c1.set(Calendar.DAY_OF_YEAR, (c1.get(Calendar.DAY_OF_YEAR) + 1));
}
return count;
}
取消
评论