Programación General => Java => Mensaje iniciado por: Blizknight en Miércoles 12 de Julio de 2006, 05:53
Título: Restar Tiempo
Publicado por: Blizknight en Miércoles 12 de Julio de 2006, 05:53
Hola a todos :D bueno.... quisiera saber como restar tiempos obtenidos en el formato hh:mm:ss ya que al cojer un tiempo en cierto momento y luego cojer otro en otro mas tarde, luego de realizar esto quisiera restar para obtener la diferencia, pero no sabia en que tipo de variables se almacena o si existe alguna forma especialll.. espero haberme dejado entneder gracias de antemano :hola:
Título: Re: Restar Tiempo
Publicado por: silverfox en Miércoles 12 de Julio de 2006, 12:59
Lamentablemente, creo recordar que no se pueden restar fechas directamente.
De todas formas, puedes hacerlo indirectamente, usando la clase Calendar, en concreto, el método getTimeInMillis().
Echa un vistazo a la documentación y pregunta de nuevo si tienes dudas.
Un saludo.
Silverfox
Título: Re: Restar Tiempo
Publicado por: Blizknight en Miércoles 12 de Julio de 2006, 23:16
hmn... no se si esto sirva lo encontre por ahi
System.currentTimeMillis();
para sacar el tiempo de la pc, si obtengo 2 de estos tiempos en diferentes momentos no se puede restar para obtener la cantidad de horas transcurridas? pues si no se puede cual es la solucion?? no entendi muxo tu explicacion :hola: graxias
Título: Re: Restar Tiempo
Publicado por: Blizknight en Viernes 14 de Julio de 2006, 22:24
en el caso que sea como dices como seria? gracias :hola:
Título: Re: Restar Tiempo
Publicado por: Nagisa en Sábado 15 de Julio de 2006, 16:38
Hola:
Citar
Echa un vistazo a la documentación y pregunta de nuevo si tienes dudas.
Consultando el API de Calendar (http://java.sun.com/j2se/1.5.0/docs/api/java/util/Calendar.html) puedes ver lo que te dice silverfox:
Código: Text
// Date f1, f2;
Calendar c = new Calendar();
c.setTime(f1);
long milis1 = c.getTimeInMilis();
c.setTime(f2);
long milis2 = c.getTimeInMilis();
c.setTimeInMilis(milis1 - milis2);
Date resultado = c.getTime();
Saludos!!
Título: Re: Restar Tiempo
Publicado por: silverfox en Martes 18 de Julio de 2006, 13:00
Efectivamente, si quieres tomar tiempos durante la ejecución, tu solución es correcta:
getTimeMillis() y lo guardas y cuando quieras saber cuánto tiempo lleva funcionando esto, getTimeMillis() y restas.
Esto da el tiempo en milisegundos, tendrás que transformarlo en horas, o días, o lo que sea...
Suerte.
Silverfox
Título: Re: Restar Tiempo
Publicado por: Blizknight en Jueves 20 de Julio de 2006, 16:06
estube probando lo de getTimeMilis(); pero no me salia, como hago para almacenarlo en una variable?
long tiempomiliseg; tiempomiliseg = getTimeMilis(); ?? asi?
Título: Re: Restar Tiempo
Publicado por: Nagisa en Viernes 21 de Julio de 2006, 18:58
Hola:
Realmente es getTimeMillis(). Prueba asi.
Un saludo.
Título: Re: Restar Tiempo
Publicado por: Blizknight en Viernes 21 de Julio de 2006, 21:41
estube haciendo o mejor dicho intentando y no me salia nada .... puedes hacerme un ejemplo si no es mucha molestia :hola: saludos
Título: Re: Restar Tiempo
Publicado por: saintis en Miércoles 9 de Mayo de 2007, 16:19
por que no usas un temporizador al momento que capturas la hora hazlo que se active y cuando detengas el tiempo haz que se detenga el temporizador y muestra ese tiempo y ahi tienes la resta entre esos 2 tiempos o el tiempo transcurrido