¿Cómo comparar fechas en Java?

¿Cómo puedo comparar fechas intermedias en Java?

Ejemplo:

date1 es 22-02-2010
date2 es 07-04-2010 hoy
la fecha3 es 25-12-2010.

La fecha3 es siempre mayor que la fecha1 y la fecha2 es siempre hoy. ¿Cómo puedo verificar si la fecha de hoy está entre la fecha1 y la fecha 3?

Solución

La [fecha][1] tiene métodos [antes][2] y [después][3] y se pueden [comparar entre sí][4] de la siguiente manera:

if(todayDate.after(historyDate) && todayDate.before(futureDate)) {
    // In between
}

Para una comparación inclusiva:


if(!historyDate.after(todayDate) && !futureDate.before(todayDate)) {
    /* historyDate 
Comentarios (5)

Utilice compareTo:

fecha1.compareTo(fecha2);

Comentarios (4)

Compara las dos fechas:

  Date today = new Date();                   
  Date myDate = new Date(today.getYear(),today.getMonth()-1,today.getDay());
  System.out.println("My Date is"+myDate);    
  System.out.println("Today Date is"+today);
  if (today.compareTo(myDate)0)
      System.out.println("Today Date is Greater than my date"); 
  else
      System.out.println("Both Dates are equal"); 
Comentarios (3)