So berechnen Sie den Unterschied NUR in den Monaten mit der Java-API-Joda

Bin ich ein Programm schreiben, das soll nur die Berechnung der Monate zwischen 2 Daten und geben den Wert zurück an das Programm. Zum Beispiel, wenn ich habe, um berechnen Sie die Anzahl der Monate zwischen 1. April und 30. Juni (das ist ein Quartal, 3 Monate), und ich verwende den folgenden code:

    DateTime start = new DateTime().withDate(2011, 4, 1);
    DateTime end = new DateTime().withDate(2011, 6, 30);

    Months mt = Months.monthsBetween(start, end);
    int monthDiff = mt.getMonths();

Mit dieser, ich bin noch immer "2" als Anzahl der Monate, in der Erwägung, dass es eigentlich "3" Monate. Dies ist ein Beispiel für das, was ich will. Ich bin nur der Berechnung der Anzahl der Monate (d.h. vom 1. start-Monat t der Letzte Termin Ende Monat) und ich brauche eine zusätzliche Analyse wie Tage, Wochen, Stunden, etc. Wie kann ich das erreichen?

Jede Hilfe würde geschätzt werden.

  • Kann nicht warten, Lesen die Antwort von Jon Skeet, Stackoverflow und Datum API-Experte 😉
  • Ich glaube das Yoda mal Antwort richtig ist. Vom 1. april bis (aber nicht einschließlich) 30. Juni wäre fast 3 Monate. Ich denke, beide Termine haben die gleiche Zeit (00:00) - und damit 30. Juni ist nicht wirklich in die Produktpalette aufgenommen.
  • Ja, das ist richtig. Der Zeitraum angezeigt wird, ist 2 Monate, 4 Wochen und 1 Tag.
Schreibe einen Kommentar