Wenn ich ein bestimmtes Datum, ein Tag, wie bekomme ich das Datum von diesem Tag in der vorherigen Woche?
SIEHE ANTWORT VON @Basilius Bourque für die meisten up-to-date die Antwort
Zum Beispiel, wenn ich ein "Date" variable "Datum1" mit einem Wert von (dd/mm/yyy) 03/07/2011, das ist ein Sonntag. Wie bekomme ich das "Date" der vorherigen Sonntag "Datum2"? was wäre der Wert (TT/mm/JJJJ) 26/06/2011.
Gibt es einen einfachen Weg, es zu tun, zum Beispiel:
pseudo-code:
Date date1 = (03/07/2011);
Date date2 = date1.subtractNumberOfDays(7);
FYI, ist die lästige alte Datum-Zeit-Klassen wie
java.util.Date
, java.util.Calendar
, und java.text.SimpleDateFormat
sind jetzt legacy, überlagert von der java.Zeit Klassen gebaut in Java 8 und höher. Siehe Einführung Oracle.InformationsquelleAutor Ian | 2011-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
tl;dr
java.Zeit
Die Frage und die Antworten die alten veralteten Datum-Zeit-Klassen. Stattdessen verwenden die java.Zeit-Klassen.
LocalDate
Den
LocalDate
Klasse repräsentiert einen nur-Datum-Wert ohne Zeit-von-Tag und ohne Zeitzone.Alternativ verbringen Sie eine ganze Zahl im zweiten argument statt der
Month
enum. Pass 1-12 für Januar-Dezember.Vorherigen Woche
Können Sie subtrahieren einer Woche nach dem Datum.
Sehen diese code ausführen, live auf IdeOne.com.
Vorherigen Tag-der-Woche
Wenn Sie möchten einen bestimmten Tag der Woche, verwenden Sie ein
TemporalAdjuster
.Mehrere solche praktischen Implementierungen in das
TemporalAdjusters
- Klasse (man beachte den plural - 's').Über java.Zeit
Den java.Zeit framework ist in Java 8 und höher. Diese Klassen verdrängen die lästige alte Vermächtnis Datum-Zeit-Klassen wie
java.util.Date
,Calendar
, &" = SimpleDateFormat
.Den Joda-Time Projekt, jetzt in Wartungsmodus, rät der migration auf die java.Zeit Klassen.
Um mehr zu erfahren, siehe die Oracle Tutorial. Und die Suche Stack Overflow für viele Beispiele und Erklärungen. Spezifikation JSR 310.
Wo erhalten Sie die java.Zeit-Klassen?
Den ThreeTen-Extra Projekt erweitert die java.mal mit zusätzlicher Klassen. Dieses Projekt ist ein Testgelände für mögliche künftige Erweiterungen zu java.Zeit. Sie finden möglicherweise einige nützliche Klassen, die hier wie
Interval
,YearWeek
,YearQuarter
, und mehr.InformationsquelleAutor Basil Bourque
Sollten Sie den Kalender:
Können Sie einen Kalender erstellen von Termin zu:
Sich bewusst sein, dass:
Sehen den GregorianCalendar JavaDoc:
Nur hinzufügen: "Datum dateAsDate = Datum.getTime();" an das Ende der oben genannten code. dateAsDate ist das Date-Objekt.
Ah danke!!! Dies wird eine große Hilfe! Ich akzeptiere Ihre Antwort, sobald der timer auf dem block 🙂
Sie können auch mehr offensichtliche cal.hinzufügen(Kalender).WEEK_OF_YEAR, -1);
Die zweite Methode zum erstellen eines date -
new Date(2011,3,7)
ist veraltet.InformationsquelleAutor Petar Ivanov
Einen klaren Ansatz:
entweder
WEEK_OF_MONTH
oderWEEK_OF_YEAR
InformationsquelleAutor Thresh
Wenn Sie bereit sind, verwenden Sie Joda time wird es sehr einfach sein.
Beispiel:
Anderen:
Erhalten Sie
java.util.Date
von DateTime:InformationsquelleAutor Tapas Bose