Geschäftstage einschließlich Feiertage berechnen

Ich muss die Werktage zwischen zwei Daten berechnen. Beispiel: Wir haben am 4. Juli Urlaub (in den USA). Also, wenn meine Daten date1 = 07/03/2012 date2 = 07/06/2012 sind

An Werktagen (s / w) sollte das Datum 1 sein, da der 4. Juli ein Feiertag ist.

Ich habe eine unten stehende Methode, um die Werktage zu berechnen, die nur die Wochenenden, aber nicht die Feiertage zählen. gibt es auch eine möglichkeit feiertage zu berechnen .... bitte hilf mir dabei.

  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;  
}

Antworten auf die Frage(5)

Ihre Antwort auf die Frage