Heim >Java >javaLernprogramm >Wie berechnet man die Anzahl der Wochentage zwischen zwei Daten 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!