Wie das Datum von 6 vollständigen Monaten zu identifizieren

7

Ich muss das Datum angeben, das vor 6 vollständigen Monaten ist. Zum Beispiel:

%Vor%

Es sollte in jedem Datum in der Zukunft funktionieren.

Ich dachte an das aktuelle Datum minus 30 * 6 = 180 Tage, aber es ist nicht korrekt.

Es muss genau sein, denn wenn wir zum Beispiel feststellen, dass Jul 2011 gültig ist, werden wir alle Daten für diesen Monat speichern .

Danke.

    
lamwaiman1988 27.02.2012, 06:22
quelle

5 Antworten

5

Wenn Sie JodaTime verwenden könnten, ist hier der Code für die Berechnung von ± 6 Monaten:

%Vor%     
Nishant 27.02.2012, 06:41
quelle
17

Ich würde diese einfache Logik versuchen, die Arbeit zu machen.

%Vor%

Hoffe, das hilft.

    
Ved 27.02.2012 06:38
quelle
2

Verwenden Sie eine Bibliothek wie joda-time für Ihre Zeit und Datum. Ich denke, du könntest das mit:

machen

neues LocalDate () . minusMonate (7) . withDayOfMonth (1)

(7 Monate, um irgendwelche Teilmonate abzudecken ... hinterlässt einen Randfall vom ersten des Monats ... aber eh :))

    
Charlie 27.02.2012 06:42
quelle
1

YearMonth

Die in Java eingebaute Klasse java.time.YearMonth macht diese Aufgabe einfach.

Holen Sie sich den aktuellen Jahr-Monat. Dies erfordert eine Zeitzone, in der zu jedem beliebigen Zeitpunkt das Datum um den Globus nach Zone variiert. Am ersten / letzten Tag des Monats kann der Monat in der ganzen Welt variieren.

%Vor%

Wir wissen, dass der aktuelle Monat per Definition unvollständig ist. Also gehe zum vorherigen Monat.

%Vor%

Bewegen Sie sich bei Bedarf noch ein halbes Jahr früher.

%Vor%

Das YearMonth -Objekt selbst kann in Ihrem Code nützlich sein. Sie können diese Objekte dieser Klasse an Ihren Code übergeben.

Wenn Sie den ersten Tag eines Monats benötigen, fragen Sie.

%Vor%     
Basil Bourque 22.10.2016 07:18
quelle
0

Nach meinem Verständnis müssen Sie über ein Dienstprogramm verfügen, das bestimmt, ob ein variables Datum 6 Monate vor dem Referenzdatum liegt, das Sie festlegen. Sehen Sie sich mein Code-Snippet für dieses Problem an. Es wird nur von java.util.Calendar verwendet, Sie müssen nicht einige andere Bibliotheken verwenden.

%Vor%     
Juvanis 27.02.2012 07:17
quelle

Tags und Links