Java - (CRONOMETRO)Duda en resto de Hora Usando Util.Date

 
Vista:

(CRONOMETRO)Duda en resto de Hora Usando Util.Date

Publicado por Israel (13 intervenciones) el 10/02/2005 17:15:31
Obtengo la hora con
Date Hora1=new Date()
int horainicial=Hora1.getHours();
int mininicial=Hora1.getMinutes();
int seginicial=Hora1.getSeconds();

//y otro objeto date
Date Hora2=new Date()
int horafinal=Hora2.getHours();
int minfinal=Hora2.getMinutes();
int segfinal=Hora2.getSeconds();

entonces::

int Horamostrar=horafinal-horainicial;
int Minmostrar=minfinal-mininicial;;
....
...
entonces si la hora final es 15:00:00
y la inicial es 14:50:59

el resto se me va a negativos 01:-50:-59
¿COMO PUEDO HACER PARA QUE NO PASE ESTO?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:(CRONOMETRO)Duda en resto de Hora Usando Util.D

Publicado por Yamil Bracho (2315 intervenciones) el 10/02/2005 20:15:27
Si quieres comparar dos objetos Date lo mejor es usar el metodo compareTo()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:(CRONOMETRO)Duda en resto de Hora Usando Util.D

Publicado por Wilfred Vargas Almendras (314 intervenciones) el 11/02/2005 04:21:41
Hola, bueno existen muchas formas de darle solucion a este problema. La solucion que te planteo es muy sencilla.
Una vez que obtienes la hora inicial y la hora final, los convietes en segundos, inclusive puedes optar por milisegundos (para un cronometro), realizas la operacion: Total Seg. Finales - Total Seg. Iniciales, y esta diferencia lo puedes transformar a minutos, horas o como quieras representarlo...

SALUDOS Wilfredo Vargas Almendras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:(CRONOMETRO)Duda en resto de Hora Usando Util.D

Publicado por Patricio (1 intervención) el 18/02/2005 14:11:28
Hola Israel:

Probé tu código y lo que hice para agregarle la funcionalidad que le faltaba es lo siguiente:

if(horaInicial > horaFinal){
horaFinal= horaFinal+24;
}

horaMostrar= horaFinal - horaInicial;

if (minInicial > minFinal){
minFinal= minFinal+60;
}

minMostrar= minFinal - minInicial;

if (segInicial > segFinal){
segFinal= segFinal+60;
}

segMostrar= segFinal - segInicial;

Con esas comprobaciones funciona perfecto, espero que te sirva como me sirvió a mi, nos vemos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar