Link copiato negli appunti
La gestione di entità date/time in Java è uno dei punti deboli del linguaggio, con svariate classi scarsamente omogenee tra loro (ad esempio java.util.Date
, java.sql.Date
, Calendar
). JodaTime promette di migliorare la gestione del tempo della JDK con classi immutabili quali:
DateTime
, classe su cui si fonda maggiormente la libreria, ottenibile a partire da oggetti JDK di tipo Calendar, Date, String, Long;DateMidnight
, che modella una data in cui l'ora è preimpostata a mezzanotte;LocalDate
, data senza ora e senza fuso orario;LocalTime
, ora senza data e fuso orario;LocalDateTime
, data e ora senza fuso orario.
In più, la classe Chronology
permette di gestire tipologie diverse di calendari (Gregoriano, Giuliano, Islamico e così via) nonché di crearne uno personalizzato.
A testimonianza della bontà del progetto c'è la specifica JSR 310 per il miglioramento della gestione date/time nella JDK, largamente basata proprio sugli sviluppi di Joda Time. Tuttavia, stando agli ultimi rumors in merito, pare che JSR 310 non sarà inclusa in Java7.