Diminuir uma hora pela outra e pegar a quantidade de horas com minutos

4 respostas
V

Galera, não sei se alguém já necessitou fazer isso, tenho duas horas exemplo

7:30 e 17:44

preciso saber quantas horas tem de diferença entre elas, o resultado seria

09:14

alguém saberia como posso fazer isso?? tenho variavéis date com essas duas horas armazenadas.

4 Respostas

B

Fala grande, nada que Deus Google não responda :wink:

K

Há algumas maneiras de se fazer isto.

Você pode usar o fato da classe java.util.Date armazenar os dados internamente como um valor do tipo long que representa os milisegundos (se não me engano, a partir de 1970).

Suponha que você tenha duas instâncias de data: data1 e data2 representando as horas.
Você pode fazer o seguinte: a diferença entre elas é

long diferenca = data2.getTime() - data1.getTime();

1000 milisegundos equivalem a um segundo.
Sendo assim, você pode colocar como fator de segundos o seguinte:

1000

pegue o resultado da diferença e divida por este valor.

Finalmente, crie uma nova instância com o resultado.

long diferenca_em_segundos = diferenca / 1000;

Depois, basta converter para o valor que você quiser. Se for para, por exemplo, minutos, basta dividir por 60, e por ai vai.

Ou, pode seguir o caminho mais tranquilo, usando a classe java.util.GregorianCalendar pra te auxiliar

Este link no stackoverflow pode te ajudar também: http://stackoverflow.com/questions/1555262/calculating-the-difference-between-two-java-date-instances

L

talvez isso aqui te de uma ajuda…

http://www.guj.com.br/posts/list/25763.java

V

Obrigado pessoal, foram bastante útil… vcs são os caras!

Criado 8 de novembro de 2010
Ultima resposta 8 de nov. de 2010
Respostas 4
Participantes 4