Abrufen des Start- und Enddatums einer Woche mit der Java-Kalenderklasse

8

Ich möchte die letzte und erste Woche einer Woche für ein bestimmtes Datum bekommen. Wenn das Datum beispielsweise der 12. Oktober 2011 ist, benötige ich die Daten vom 10. Oktober 2011 (als Startdatum der Woche) und vom 16. Oktober 2011 (als Enddatum der Woche). Kann jemand diese 2 Daten mit der Kalenderklasse (java.util.Calendar) bekommen vielen Dank!

    
user421607 04.10.2011, 08:32
quelle

5 Antworten

32

Ein bisschen Code, wie man es mit dem Calendar -Objekt macht. Ich sollte auch die joda Zeitbibliothek erwähnen, da sie Ihnen bei vielen Date/Calendar Problemen helfen kann.

Code

%Vor%     
dacwe 04.10.2011, 08:39
quelle
2

Diese Lösung funktioniert für jedes Gebietsschema (der erste Tag der Woche könnte Sonntag oder Montag sein).

%Vor%

Beispiel: Heute ist der 29. Januar 2014. Für das Gebietsschema mit Sonntag als ersten Wochentag erhalten Sie:

%Vor%

Für das Gebietsschema mit Montag als ersten Tag sind die Daten:

%Vor%     
Akima 29.01.2014 12:32
quelle
1

Wenn Sie alle Daten möchten,

%Vor%     
LMK 21.03.2013 09:35
quelle
1

Hier ist der Beispielcode

%Vor%

welches gedruckt wird

%Vor%     
Visruth 19.03.2016 15:01
quelle
0

Ich habe gefunden, dass die Formel in der angenommenen Antwort nur in einigen Fällen funktioniert. Zum Beispiel beginnt Ihre Woche am Samstag und heute ist Sonntag. Um am ersten Tag der Woche anzukommen, gehen wir einen Tag zurück, aber die Formel cal.get(Calendar.DAY_OF_WEEK) - cal.getFirstDayOfWeek() gibt die Antwort -6. Die Lösung besteht darin, einen Modul zu verwenden, so dass die Formel sozusagen umläuft.

%Vor%     
34m0 28.08.2017 14:21
quelle

Tags und Links