in gepard-core/src/main/java/com/epam/gepard/helper/DateHelper.java [121:147]
public long dayDiffsInWorkingDays(Date start, Date end) {
//work with start date
Calendar c1 = GregorianCalendar.getInstance();
c1.setTime(start);
int w1 = c1.get(Calendar.DAY_OF_WEEK);
c1.add(Calendar.DAY_OF_WEEK, -w1 + 1);
//work with end date
Calendar c2 = GregorianCalendar.getInstance();
c2.setTime(end);
int w2 = c2.get(Calendar.DAY_OF_WEEK);
c2.add(Calendar.DAY_OF_WEEK, -w2 + 1);
//difference in days
long days = (c2.getTimeInMillis() - c1.getTimeInMillis()) / ONE_DAY_IN_MILLISECS;
//remove Saturdays and Sundays
long daysWithoutSunday = days - (days * 2 / DAYS_IN_WEEK);
if (w1 == Calendar.SUNDAY) {
w1 = Calendar.MONDAY;
}
if (w2 == Calendar.SUNDAY) {
w2 = Calendar.MONDAY;
}
return daysWithoutSunday - w1 + w2;
}