Joda Time y Java 8

El soporte para la representación y manipulación de fechas en Java ha sido siempre bastante penoso. La clases Date y Calendar estan mal diseñadas, dan poca funcionalidad y son confusas. La solución ha sido habitualmente utilizar la excelente libreria Joda Time.

Para estandarizar un mejor soporte de fechas para Java se creó el JSR-310 que por supuesto ha contando con la colaboración de Stephen Colebourne, el creador de Joda Time. La nueva libreria se encuentra bajo el paquete java.time y es así como se le conoce más habitualmente.

Sin embargo java.time no es Joda Time y por buenas razones. De manera que si migramos un proyecto a Java 8 o lo empezamos de nuevo la recomandación oficial de Stephen es pasar a java.time. Él mismo ha publicado un artículo resumiendo como convertir de una libreria a la otra.

Lo que he echado en falta desde el minuto cero, dado que yo me dedico principalmente al desarrollo de aplicaciones web, es el soporte de los tags de formato de JSP para la nueva librería. Ya existía este soporte para Joda Time (con Joda JSP Tags). Así que he cogido esa libreria y la he modificado para funcionar con java.time.

El resultado es un nuevo pequeño proyecto publicado en GitHub:

JSP tag support for Java 8 java.time (JSR-310)

Por supuesto falta mucho por hacer: documentación, juegos de pruebas, etc.