我需要计算两个日期之间的工作日.例如:我们7月4日有假期(在美国).所以,如果我的日期是date1 = 07/03/2012 date2 = 07/06/2012
没有工作日b/w这些日期应该是1,因为7月4日是假日.
我有一个下面的方法来计算工作日,这只会计算周末而不是假期.有没有办法计算假期....请帮我这个.
public static int getWorkingDaysBetweenTwoDates(Date startDate, Date endDate) {
Calendar startCal;
Calendar endCal;
startCal = Calendar.getInstance();
startCal.setTime(startDate);
endCal = Calendar.getInstance();
endCal.setTime(endDate);
int workDays = 0;
//Return 0 if start and end are the same
if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) {
return 0;
}
if (startCal.getTimeInMillis() > endCal.getTimeInMillis()) {
startCal.setTime(endDate);
endCal.setTime(startDate);
}
do {
startCal.add(Calendar.DAY_OF_MONTH, 1);
if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY
&& startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
++workDays;
}
} while (startCal.getTimeInMillis() < endCal.getTimeInMillis());
return workDays;
}
Run Code Online (Sandbox Code Playgroud) 我想要两个约会.1)MM/dd/yy格式的当前日期2)修改日期,即5个工作日(周一至周五)至当前日期的加法,应为MMM dd,yyyy格式.
因此,如果我的当前时间是6月9日,那么currentDate应该是06/09/14,并且modifiedDate应该是2014年6月13日.
这该怎么做?