Heim  >  Artikel  >  Java  >  Wie berechnet man die Anzahl der Wochentage zwischen zwei Daten in Java?

Wie berechnet man die Anzahl der Wochentage zwischen zwei Daten in Java?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 17:36:42413Durchsuche

How to Calculate the Number of Weekdays Between Two Dates in Java?

Berechnen Sie die Anzahl der Wochentage zwischen zwei Daten in Java

Für diejenigen, die ein Java-Code-Snippet suchen, um die Anzahl der Werktage (ausgenommen) zu berechnen Wochenenden) zwischen zwei Daten, eine beliebte Antwort aus dem Jahr 2011 schlug eine Lösung unter Verwendung der Calendar-Klasse vor. Trotz der späteren Einführung moderner Datums-/Uhrzeitverarbeitungsfunktionen durch Java 8 über das Paket java.time zeigt der folgende Code, wie diese Berechnung mithilfe der Kalender-API durchgeführt wird:

<code class="java">public static int getWorkingDaysBetweenTwoDates(Date startDate, Date endDate) {
    Calendar startCal = Calendar.getInstance();
    startCal.setTime(startDate);        
    
    Calendar 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 {
       //excluding start date
        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()); //excluding end date

    return workDays;
}</code>

Beachten Sie, dass diese Lösung einer „kontinuierlichen“ Methode folgt " Zählansatz, bei dem sowohl das Start- als auch das Enddatum selbst ausgeschlossen sind. Wenn Start und Ende beispielsweise an einem Montag bzw. Freitag liegen, gibt die Methode 4 zurück.

Das obige ist der detaillierte Inhalt vonWie berechnet man die Anzahl der Wochentage zwischen zwei Daten in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn