calcular días hábiles incluyendo días festivos

Necesito calcular los días hábiles entre dos fechas. Ej: tenemos vacaciones (en USA) el 4 de julio. así que si mis fechas son date1 = 07/03/2012 date2 = 07/06/2012

no de días hábiles entre semana, estas fechas deben ser 1, ya que el 4 de julio es feriado.

Tengo un método a continuación para calcular los días hábiles, que solo cuentan los fines de semana, pero no los días festivos. ¿Hay alguna forma de calcular las vacaciones también ... por favor ayudenme en esto?

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

Respuestas a la pregunta(5)

Su respuesta a la pregunta