niedziela, 6 stycznia 2013

Tricky is, handling dates in Java. Joda Time, you shall use!

Java Date API jest dalekie od ideału. Przede wszystkim brakuje w nim metod dla podstawowych operacji, a napisanie ich wymaga absurdalnej ilości kodu i ostrożności.

Właśnie utworzyliśmy datę reprezentującą 6.02.3913. Miesiące liczymy od zera. A lata od 1900.
Tym razem dostaniemy 6.02.2013. Lepiej, choć wciąż nieidealnie.

Klasyczny przypadek - chcemy porównać dwie daty, z dokładnością do dni. Czas wyzerujemy w następujący sposób:

Wystarczy powtórzyć dla drugiej daty i możemy porównywać.

Inny klasyczny przypadek - chcemy obliczyć ilość dni między dwoma datami. Jedno z prostszych rozwiązań wygląda następująco:


Alternatywy?

Apache Commons Lang - DateUtils


Date4J

Malutka biblioteka, obejmuje zaledwie kilka klas. Tutaj znajdziemy krótkie porównanie z Joda Time.


Joda Time

Chyba najpopularniejsza, obszerna biblioteka do obsługi dat.

Brak komentarzy:

Prześlij komentarz