java android timer subtract

Android Java: ¿Cómo restar dos veces?



timer subtract (2)

Si tiene cadenas, debe analizarlas en java.util.Date usando java.text.SimpleDateFormat. Algo como:

java.text.DateFormat df = new java.text.SimpleDateFormat("hh:mm:ss"); java.util.Date date1 = df.parse("18:40:10"); java.util.Date date2 = df.parse("19:05:15"); long diff = date2.getTime() - date1.getTime();

Aquí diff es la cantidad de milisegundos transcurridos entre las 18:40:10 y las 19:05:15.

EDIT 1:

Encontré un método en línea para esto (en http://www.javaworld.com/javaworld/jw-03-2001/jw-0330-time.html?page=2 ):

int timeInSeconds = diff / 1000; int hours, minutes, seconds; hours = timeInSeconds / 3600; timeInSeconds = timeInSeconds - (hours * 3600); minutes = timeInSeconds / 60; timeInSeconds = timeInSeconds - (minutes * 60); seconds = timeInSeconds;

EDICION 2:

Si lo quieres como una cadena (esta es una forma descuidada, pero funciona):

String diffTime = (hours<10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds) + " h";

EDIT 3:

Si quieres los milisegundos solo haz esto

long timeMS = diff % 1000;

Luego puedes dividir eso por 1000 para obtener la parte fraccional de tus segundos.

Utilizo algún tipo de cronómetro en mi proyecto y tengo

start time ex: 18:40:10 h stop time ex: 19:05:15 h

Necesito un resultado de esos dos valores como el final time = stop - start

Encontré algunos ejemplos, pero todos son muy confusos.

¿Hay alguna solución simple?


Suponiendo que está utilizando java.util.Date :

long totalTime = endDate.getTime() - startDate.getTime();

El resultado será el tiempo total en milisegundos.