рассчитать рабочие дни, включая праздничные дни
Мне нужно рассчитать рабочие дни между двумя датами. Например: у нас выходной (в США) 4 июля. так что если мои даты date1 = 07/03/2012 date2 = 07/06/2012
нет рабочих дней ч / б, эти даты должны быть 1, так как 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;
}