Andere Antworten beziehen sich hier auf Joda API. Ich möchte es mit java.time
tun.Wie überspringe ich Wochenenden, während ich Tage zu LocalDate in Java 8 hinzufüge?
Angenommen, die heutige Datum 26. November 2015 bis Donnerstag, als ich 2 Werktag in dem es, ich das Ergebnis am Montag 30. November will 2015
Ich arbeite an meiner eigenen Implementierung, aber es wäre toll wenn etwas schon existiert!
EDIT:
Gibt es eine Möglichkeit, es auseinander zu tun von Schleifen über?
Ich habe versucht, eine Funktion wie abzuleiten:
Y = f(X1,X2) where
Y is actual number of days to add,
X1 is number of business days to add,
X2 is day of the week (1-Monday to 7-Sunday)
Dann X1
und X2
gegeben (ab dem ersten Tag der Woche des Datums abgeleitet), wir Y
und verwenden Sie dann plusDays()
Methode von LocalDate
finden.
Ich konnte es bisher nicht ableiten, es ist nicht konsistent. Kann jemand bestätigen, dass das Loop-Over bis zur gewünschten Anzahl von Arbeitstagen der einzige Weg ist?
Das sieht gut aus!Ich habe es getestet, indem ich bis zu 15 Arbeitstage pro Tag von Montag bis Sonntag hinzugefügt habe und es bei Bedarf funktioniert. Wie weit hast du es getestet? Ich arbeitete auch an ähnlichen Linien, konnte aber nicht durchkommen! –
Ich führte einen ähnlichen Test durch (es wurden immer mehr Arbeitstage an jedem Wochentag hinzugefügt), gefolgt von der Generierung tausender zufälliger Daten und Arbeitstage und dem Testen der Ergebnisse gegen die einfache Loop-Lösung. –
Großartig! Ich frage mich, warum sich die meisten Lösungen auf das Umschlingen beziehen. Diese Lösungen wären in Bezug auf die Leistung viel besser, oder? Vor allem, wenn eine große Anzahl von Arbeitstagen hinzugefügt werden muss. –