Escriba su propio método que no se toman el tiempo en cuenta:
public static int compareDate(Date date1, Date date2) {
if (date1.getYear() == date2.getYear() &&
date1.getMonth() == date2.getMonth() &&
date1.getDate() == date2.getDate()) {
return 0 ;
}
else if (date1.getYear() < date1.getYear() ||
(date1.getYear() == date2.getYear() &&
date1.getMonth() < date2.getMonth()) ||
(date1.getYear() == date2.getYear() &&
date1.getMonth() == date2.getMonth() &&
date1.getDate() < date2.getDate()) {
return -1 ;
}
else {
return 1 ;
}
}
Tenga en cuenta que los métodos getYear()
, getMonth()
getDate()
y han quedado obsoletos. Debería pasar por la clase Calendar
y realizar el mismo método.
Esto es de nuevo repetidas de [antiguo puesto] [1] [1]: http://stackoverflow.com/questions/1439779/how-to-compare-two-dates-without-the -time-portion – Saurabh
@saury: ¡gracias por el enlace! De algún modo, sabía que a Joda Time se lo manejaría sin problemas. –
Este es un tema interesante ya que tengo un requisito similar, pero tuve que hacer grandes volúmenes de comparaciones de fechas, y sin utilizar una biblioteca de terceros si es posible. A continuación se muestran los puntos de referencia básicos para comparar las mismas dos fechas usando varios métodos: * Comparar usando obsoletos getYear, getMonth, y getDate: time = 125ms para 500000 comparaciones * Comparar usando SimpleDateFormat y Integer.parseInt: time = 719ms para 500000 compara +475 % * Comparar utilizando los métodos Calendar.get(): time = 2297ms para 500000 comparadas + 1738% * Comparar configurando la hora a la medianoche: time = 2516ms para 500000 compares + 1913% –