SoloCodigo

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
  1.  
  2. // Date f1, f2;
  3. Calendar c = new Calendar();
  4. c.setTime(f1);
  5. long milis1 = c.getTimeInMilis();
  6. c.setTime(f2);
  7. long milis2 = c.getTimeInMilis();
  8. c.setTimeInMilis(milis1 - milis2);
  9. Date resultado = c.getTime();
  10.  
  11.  

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