Piszę program, który ma po prostu obliczyć miesiące między 2 podanymi datami i zwrócić wartość do programu. Na przykład, jeśli muszę obliczyć liczbę miesięcy między 1 kwietnia a 30 czerwca (który jest dzielnica, 3 miesiące) i używam następujący kod:Jak obliczyć różnicę TYLKO w miesiącach używając Jody API Jody
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();
Korzystanie z tego, ja wciąż się " 2 "jako liczba miesięcy, podczas gdy faktycznie jest to" 3 "miesiące. To jest przykład tego, czego chcę. Obliczam tylko liczbę miesięcy (tj. Od 1 dnia miesiąca początkowego do ostatniej daty miesiąca końcowego) i nie potrzebuję dodatkowych analiz, takich jak dni, tygodnie, godziny itp. Jak to osiągnąć?
Każda pomoc zostanie doceniona.
nie mogę się doczekać, aby przeczytać odpowiedź od Jon Skeet, na Stackoverflow i data Ekspert API;) – DaveFar
Wierzę, że odpowiedź czasu Yoda jest poprawna. Od 1 kwietnia do (ale nie wliczając) 30 czerwca będzie to 3 miesiące. Myślę, że obie daty mają ten sam czas (00:00), a więc 30 czerwca tak naprawdę nie jest w tym zakresie. – extraneon
@extraneon - To prawda. Wyświetlany okres to 2 miesiące, 4 tygodnie i 1 dzień. –