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

Restar Horas

Estas en el tema de Restar Horas en el foro de Java en Foros del Web. Ingreso en dos cajas de texto dos horas con el siguiente formato(HH:MM) 10:00 y 11:00 quisiera saber como restar estas dos horas...
  #1 (permalink)  
Antiguo 22/04/2013, 16:06
 
Fecha de Ingreso: agosto-2010
Mensajes: 127
Antigüedad: 13 años, 7 meses
Puntos: 1
Restar Horas

Ingreso en dos cajas de texto dos horas con el siguiente formato(HH:MM) 10:00 y 11:00 quisiera saber como restar estas dos horas
  #2 (permalink)  
Antiguo 23/04/2013, 02:48
Avatar de gran Wakka  
Fecha de Ingreso: septiembre-2007
Mensajes: 712
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Restar Horas

Si los tratas como String podrías hacer un substring de ambas cajas (las dos primeras posiciones de cada uno) y restarlo
__________________
Información de Series de TV
Buscas o quieres ser redactor? Ofertas redactor web
  #3 (permalink)  
Antiguo 23/04/2013, 03:13
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Restar Horas

// La forma correcta de hacerlo
String fecha1 = "11:00";
String fecha2 = "10:00";
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
try {
Date date1 = sdf.parse(fecha1);
Date date2 = sdf.parse(fecha2);
} catch (ParseException pe) {
// tratamiento de error de parseo
}
long timeBetweenDates = date1.getTime() - date2.getTime();
if (timeBetweenDates < 0) {
timeBetweenDates = 0-timeBetweenDates;
}
return sdf.format(timeBetweenDates); // Devolveria ("01:00")

// Esto devuelve el tiempo mas corto entre esas dos horas, asi que si intercambias las horas entre fecha1 y fecha2 devolvera el mismo valor. Si quisieses formatear con respecto a 24h si la resta es negativa entonces en vez de
timeBetweenDates = 0-timeBetweenDates;
tendrías que poner
timeBetweenDates = 24*60*60*1000-timeBetweenDates;
y en el segundo caso te devolveria "23:00"
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: horas, restar
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 08:45.