Caculo de defierenca entre horas.

654 views
Skip to first unread message

luiszacheu

unread,
May 31, 2012, 8:25:09 AM5/31/12
to androidb...@googlegroups.com
Amigos estou com um grande problema, quero pegar o valor de uma data/hora inicial subtrair pela data/hora fim, sendo assim, fiz o seguinte procedimento:

HoraInicial.getTime() - HoraFinal.getTime()
, onde HoraInicial = 2012-05-30 17:00:00 e HoraFinal = 2012-05-30 17:10:00

então ao executar o codigo acima, eu armazemo em uma variavel do tipo long e depois converto utilizando a classe SimpleDateFormat.

Mas o retorno está sendo esse: 
1969-12-31 20:59:32, sendo que deveria ser esse 2012-05-30 00:10:00

Alguem poderia me dar uma força..

Obrigado! 

Eduardo Baião

unread,
May 31, 2012, 8:36:19 AM5/31/12
to androidb...@googlegroups.com
Me corrijam se eu estiver enganado.

Quando você chama o "getTime" ele retorna o número de milisegundos
desde a data "1969-12-31 00:00:00". Então, se você subtrai uma data da
outra, o resultado vai ser um número de milisegundos bem pequeno que,
após a conversão gera essa data antiga.

O resultado da subtração de duas datas não tem como resultado outra
data, mas sim um intervalo de tempo. Desse intervalo você poderia
deduzir quantos dias, horas, segundos etc que existem de diferença
entre as datas.

Maicon Strey

unread,
May 31, 2012, 8:44:47 AM5/31/12
to androidb...@googlegroups.com
Luis,
o Eduardo está certo. o resultado é só um intervalo.
Não sei exatamente pra que tu quer mas eu precisei dessa informação e criei uma classe que retorna um inteiro com a diferença entre as datas:

Tu podes pegar a diferença em meses, dias, horas ou minutos.

Maicon Strey
Novo Hamburgo - RS - Brasil
------------------
Precisa me dar um presente e não sabe o que comprar? wishlist
Linux user: #525086
------------------



2012/5/31 Eduardo Baião <eduard...@gmail.com>

Marcelo Henrique

unread,
May 31, 2012, 8:52:32 AM5/31/12
to androidb...@googlegroups.com
Tipo .. falando algo meio sem saber, faz os calculos em timestamp. 
--
                                              - Marcelo Henrique -
  "Se não puder se destacar pelo talento, vença pelo esforço." (Dave Weinbaum)

Gink Labrev

unread,
May 31, 2012, 8:57:35 AM5/31/12
to androidb...@googlegroups.com
Pense em termos de intervalo.

Se quiser atingir o resultado que postou, pegue a diferença em segundos (pode ser usando a classe do Maicon msm) e some a data inicial com valor de tempo de 00:00:00.

Erick Couto

unread,
May 31, 2012, 9:20:49 AM5/31/12
to androidb...@googlegroups.com
eu recomendo utilizar o calendar para manipulação de datas, inclusive para cálculo de diferença.
--
-----------------------------------------------------------------
Erick Couto
Tavindo - Feriados Brasileiros

Jonas Alves

unread,
May 31, 2012, 9:24:25 AM5/31/12
to androidb...@googlegroups.com

Você está dizendo que espera que x - - x = x, sendo que x é diferente de 0.
Revise sua lógica.

Jonas Alves

unread,
May 31, 2012, 9:25:52 AM5/31/12
to androidb...@googlegroups.com

Digitei um - a mais sem querer...

luiszacheu

unread,
Jun 1, 2012, 8:28:26 AM6/1/12
to androidb...@googlegroups.com
Então pessoal eu encontrei uma solução nesse site: http://www.arquivodecodigos.net/dicas/java-como-obter-a-diferenca-de-semanas-dias-horas-minutos-e-segundos-entre-dois-objetos-date-2456.html
Quem quiser aproveitar, obrigado pela ajuda de todos.

luiszacheu

unread,
Jun 1, 2012, 8:29:07 AM6/1/12
to androidb...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages