Blog
En este tutorial aprenderemos a utilizar fechas en Java usando el framework Joda-Time. Este framework nos proporciona una gran variedad de funcionalidades para la manipulación de fechas haciéndolo uno de los más importantes para este lenguaje.
Antes de empezar es necesario descargarse este framework desde su repositorio github.com/JodaOrg/joda-time/releases. Luego debemos importar los jar como dependencia en nuestro proyecto. Si estamos utilizando Eclipse como IDE podemos hacer click derecho en nuestro proyecto e ir a “Properties -> Java Build Path -> Libraries -> Add External JARs” y seleccionar todos los archivos de extensión jar.
¿Cómo calcular los días que hay entre dos fecha en Java?
Para calcular los días entre dos fechas podemos usar el método estático daysBetween de la clase Days:
DateTime date1 = new DateTime('2015-05-22'); DateTime date2 = new DateTime('2015-09-25'); /* * Calcular los días que hay entre dos fechas. */ System.out.println(Days.daysBetween(date1, date2).getDays());
Al ejecutar el código anterior se imprimirá por consola los días que hay entre date1 y date2. Es importante importar las clases que vamos a utilizar, para que nuestro programa funcione correctamente:
import org.joda.time.DateTime; import org.joda.time.Days;
¿Cómo saber si una fecha es menor a otra en Java?
En este caso usaremos la función isBefore:
/* * Saber si una fecha es menor a otra. */ System.out.println(date1.isBefore(date2));
Para el caso contrario podemos utilizar la función isAfter.
¿Cómo sumar o restar días a fechas en Java?
Para sumar o restar días a fechas solamente debemos usar la función plusDay, la cual recibe un número entero negativo o positivo.
/* * Agragar 5 días a una fecha. */ System.out.println(date1.plusDays(5)); /* * Restar 5 días a una fecha. */ System.out.println(date1.plusDays(-5));
Esas son las funciones más interesantes que tiene Joda-Time, además es importante mencionar que en su documentación podemos encontrar muchísimas más. Espero que les haya servido este tutorial y ante cualquier problema no duden en dejar un comentario.
Hola muy buen aporte 😀 muy agradecido, tengo una consulta; estoy trabajando con Android Studio y hace poco enlace la libreria Joda time a mi proyecto y ya pude sacar diferencia entre gracias a tu ejemplo, pero ahora tengo que hacer unas pruebas lógicas para saber si la fecha de ingreso esta antes del 11-12-del año anterior, eso m esta dando problemas, Qué me recomiendas?
Hola Walter, me alegra que te haya servido.
Para realizar lo que me decís podes utilizar la función isBefore como lo explico en el tutorial.