Cómo usar la biblioteca JodaTime en Java

54

En este artículo revisaremos cómo usar la biblioteca Java de código abierto Joda Time. Esta biblioteca, como se menciona en el artículo de bibliotecas Java de código abierto, provee de un motor para interactuar con fechas y tiempos con soporte para Java 7 y menores, debido a que Java 8 introdujó java.time que soluciona los mismos problemas que esta biblioteca.

Esta biblioteca es muy útil para proyectos legacy (menores a Java 8) que requieren de una optimización de manejo de fechas y tiempos con objetos que nos proporcionan métodos y atributos muy útiles para el manejo de no solo fechas y tiempos, si no operaciones entre ellos, así como objetos que representan instantes, duraciones e intervalos.

Versión de Java

Recuerda que esta biblioteca es útil para proyectos que usan Java 7 o inferior, para versiones posteriores deberás utilizar la especificación nativa de Java: java.time.

Maven

Como con cualquier biblioteca, el primer paso es agregar la dependencia a nuestro proyecto, mediante Maven o Gradle, actualmente en su versión 2.10:

Set de pruebas

Antes de pasar al código de Joda, vamos a crear un pequeño set de pruebas para asegurar el correcto comportamiento de nuestro ejemplo. Nota que estas pruebas bien pueden aplicar para código hecho en la especificación para fechas de Java 7. Piensa también en el código que sería necesario para lograr los siguientes funcionamientos sin Joda:

  • Sumar o restar días/meses a una fecha.
  • Obtener el día de la semana o el mes del año y pasarlo a otro lenguaje (francés en este caso).
  • Crear un objeto de tipo fecha con un año, mes y día específicos.

Manejo de fechas y tiempos con Joda Time

Finalmente, creamos nuestro código en Joda para demostrar lo fácil que es el uso de esta biblioteca y lo mucho que nos puede ayudar con el manejo de tiempos y fechas. Nota que estamos logrando las funcionalidades anteriormente descritas con una sola línea de código. Piensa nuevamente en las líneas de código necesarias con Java 7 para lograr la misma funcionalidad.

Resultados

Observa y compara los resultados contra los parametros que pasan las pruebas a las unidades. Nota cómo las impresiones del día de la semana y mes del año están en francés tal cual se esperaba.


Puedes ver el uso de Joda Time en un proyecto completo de Java con Spring en el siguiente repositorio de Github: https://github.com/chuucks/SPRING-REST-API

Comments

comments