Foros del Web » Programación para mayores de 30 ;) » Java »

Comparar hora

Estas en el tema de Comparar hora en el foro de Java en Foros del Web. Hola, necesito ayuda tengo un problema en java no sé cómo comparar un dato hora almacenado en un String : Esto es lo que tengo, ...
  #1 (permalink)  
Antiguo 30/10/2009, 12:38
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Comparar hora

Hola, necesito ayuda tengo un problema en java no sé cómo comparar un dato hora almacenado en un String :
Esto es lo que tengo, como puedo comparar, para saber si horaNueva esta dentro del rango de hora1 y hora2.
String hora1 = “14:30:00”;
String hora2 = “17:30:00”;
String horaNueva = “17:30:00”;
  #2 (permalink)  
Antiguo 30/10/2009, 13:06
Avatar de Ingloim  
Fecha de Ingreso: octubre-2009
Ubicación: España
Mensajes: 14
Antigüedad: 14 años, 6 meses
Puntos: 1
Mensaje Respuesta: Comparar hora

Bueno, se me ocurren varias formas, pero puedes usar el compareTo de la clase Date, pasando antes las cadenas a variables de tipo Date.

Código:
try {
	DateFormat dateFormat = new SimpleDateFormat ("hh:mm:ss");
		
	String hora1 = "14:30:00";
	String hora2 = "17:30:00";
	String horaNueva = "17:30:00";
		
	Date date1, date2, dateNueva;
	date1 = dateFormat.parse(hora1);
	date2 = dateFormat.parse(hora2);
	dateNueva = dateFormat.parse(horaNueva);
			
	if ((date1.compareTo(dateNueva) <= 0) && (date2.compareTo(dateNueva) >= 0)){
		System.out.println("La hora " + horaNueva + " está entre " + hora1 + " y " + hora2);
	} else {
		System.out.println("La hora " + horaNueva + " no está entre " + hora1 + " y " + hora2);
	}
} catch (ParseException parseException){
	parseException.printStackTrace();
}
Espero serte de ayuda.
  #3 (permalink)  
Antiguo 30/10/2009, 14:20
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Respuesta: Comparar hora

Gracias, me fue de mucha ayuda tu respuesta.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:46.