operaciones con Horas
Cordial Saludo para todos.
Por favor alguien me puede colaborar indicandome como puedo restar una hora de otra (en java) Ej: 08:25:30:225 - 07:20:45:853 (Horas:Minutos:Ssegundos:milisegundos)
Desde ya, muchas gracias por su colaboración.
Por favor alguien me puede colaborar indicandome como puedo restar una hora de otra (en java) Ej: 08:25:30:225 - 07:20:45:853 (Horas:Minutos:Ssegundos:milisegundos)
Desde ya, muchas gracias por su colaboración.
Si almacenas la hora en un objeto java.util.Time o en un java.util.GregorianCalendar, llama al método getTime() o getTimeInMillis(), respectivamente, para obtener dos long que restándolos, y construyendo un nuevo objeto con la resta, obtienes la hora en el formato que desees.
Espero que te sirva.
Espero que te sirva.
te dejo el codigo q yo use:
public String restaHora( int hFin, int mFin, int hIni, int mIni){
String horaResta;
String minutoResta;
String resta="00:00";
Calendar cal1 = Calendar.getInstance();
cal1.set(0000, 00, 00, hIni, mIni);
Calendar cal2 = Calendar.getInstance();
cal2.set(0000, 00, 00, hFin, mFin);
long milisegundos = cal2.getTimeInMillis() - cal1.getTimeInMillis();
long hora,minuto,segundo;
long restohora,restominuto,restosegundo;
hora = milisegundos/3600000;
restohora = milisegundos%3600000;
minuto = restohora/60000;
restominuto = restohora%60000;
if(hora<10){
horaResta = "0"+hora;
}else{
horaResta =""+hora;
}
if(minuto<10){
minutoResta = "0"+minuto;
}else{
minutoResta = ""+minuto;
}
System.out.println(horaResta + ":" + minutoResta);
resta = horaResta + ":" + minutoResta;
return resta;
}
public String restaHora( int hFin, int mFin, int hIni, int mIni){
String horaResta;
String minutoResta;
String resta="00:00";
Calendar cal1 = Calendar.getInstance();
cal1.set(0000, 00, 00, hIni, mIni);
Calendar cal2 = Calendar.getInstance();
cal2.set(0000, 00, 00, hFin, mFin);
long milisegundos = cal2.getTimeInMillis() - cal1.getTimeInMillis();
long hora,minuto,segundo;
long restohora,restominuto,restosegundo;
hora = milisegundos/3600000;
restohora = milisegundos%3600000;
minuto = restohora/60000;
restominuto = restohora%60000;
if(hora<10){
horaResta = "0"+hora;
}else{
horaResta =""+hora;
}
if(minuto<10){
minutoResta = "0"+minuto;
}else{
minutoResta = ""+minuto;
}
System.out.println(horaResta + ":" + minutoResta);
resta = horaResta + ":" + minutoResta;
return resta;
}
