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!
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.
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% 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.