Cómo comparar el tiempo en Java

Tengo el siguiente formato para la hora "hh: mm: ss". Ahora tengo dos valores de tiempo como,

Date previous_time=20:50:55
Date current_time=19:50:55

Y estoy tratando de compararlo así,

if(previous_time.after(current_date)){
  Log.i("Time Comparision","before is true");
      System.out.println("before");  
}
else if(current_time.after(previous_time)){
  Log.i("Time Comparision","after is true");
  System.out.println("after");   
}
else {
  System.out.println("nothing");
  Log.i("Time Comparision not happened","");
}

Pero mis dos condiciones no funcionan. Mi pregunta es, ¿cómo comparar dos tiempos cuando están en el formato mencionado anteriormente?

preguntado el 10 de mayo de 11 a las 14:05

¿Está dando ejemplos de los tiempos o está diciendo que así es como está construyendo las fechas? -

Sí, así es como tengo mis valores de tiempo. Tengo que compararlo. -

La else cláusula significa que los tiempos son iguales, no que la comparación haya fallado. La comparación se ve bien, por lo que debe verificar cómo está construyendo los valores de tiempo. -

si acepto con tu punto. ¿Puede ayudarme a reconstruir mi condición if, de modo que si mi tiempo anterior es anterior a mi tiempo actual? -

2 Respuestas

En su primera línea de código se refiere a current_date no current_time.

O ese es el problema o las dos fechas son iguales, lo que ejecutaría la parte en else.

contestado el 10 de mayo de 11 a las 18:05

Puede intentar compararlo a través de la función Date.getTime (), que devuelve milisegundos después del 1/1/1970.

contestado el 10 de mayo de 11 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.