Muszę ustalić pierwszą datę (as org.joda.time.LocalDate
) miesiąca i ostatnią. Zdobycie pierwszego jest trywialne, ale uzyskanie ostatniego wydaje się wymagać logiki, ponieważ miesiące mają różną długość, a długość lutego zmienia się nawet z upływem lat. Czy istnieje już mechanizm do tego wbudowany w JodaTime, czy powinienem zaimplementować go samodzielnie?
110
DateTime
Odpowiedzi:
Co powiesz na:
dayOfMonth()
zwraca a,LocalDate.Property
które reprezentuje pole „dzień miesiąca” w sposób, który zna źródłoLocalDate
.Tak się składa, że
withMaximumValue()
metoda jest nawet udokumentowana, aby polecić ją do tego konkretnego zadania:źródło
dt.with(TemporalAdjusters.lastDayOfMonth())
Inna prosta metoda to:
źródło
Stare pytanie, ale najlepszy wynik w Google, kiedy tego szukałem.
Jeśli ktoś potrzebuje
int
zamiast tego rzeczywistego ostatniego dnia jako JodaTime, możesz to zrobić:źródło
Korzystając z JodaTime, możemy to zrobić:
Jak opisuję tutaj, w moim małym streszczeniu na github: Klasa JodaTime i java.util.Date Util z wieloma przydatnymi funkcjami.
źródło