Calcular diferença de tempo  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Pessoal, gostaria de ver se alguém poderia me ajudar a resolver um problema. Estou tendo de calcular a diferença entre duas datas e retornar como resposta o número em horas. Acontece que tenho como data final a data do sistema, a qual obtenho da seguinte maneira:
E tenho como data inicial a data que está gravada no banco, a qual estou capturando da seguinte maneira:
Acontece que como data final eu obtenho por exemplo o seguinte resultado:
2005-06-10 21:20:16.567

E como data inicial, obtenho como exemplo o seguinte resultado:
2005-6-10 11:35:8.143
Lembrando que os dois resultados estão como string.

Agradeço se alguém puder me ajudar a calcular esta diferença.
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Aprenda a buscar no forum. O botao Pesquisar ta ali em cima.
http://www.guj.com.br/posts/list/9440.java
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
diogopontual
Debugger

Membro desde: 04/06/2004 09:58:06
Mensagens: 51
Offline

Cara,

Vc tem dois Date. Pq não fazer um getTime() em cada um, subtrair os resultados e dividir até chegar em horas???



É mais ou menos isso.

Abraços,

Diogo

Diogo Dauster Pontual
http://www.sectioaurea.com.br/diogopontual
[Email] [WWW]
DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Obrigado pessoal pelas dicas, funcionou. Acontece que verifiquei um problema que gostaria de ver se alguém poderia me dar uma dica de como resolvê-lo. Tenho a busca de data ínicial que é feita no banco da seguinte maneira:Se mando escrever esta variável data na tela ela me retorna por exemplo:
2005-6-10 2:20:32.159
Só que ao verificar o registro no banco de dados, percebi que lá esta gravado da seguinte maneira:
2005-06-10 09:21:21.487
E ao calcular a diferença de tempo em horas como no exemplo:
2005-06-10 14:16:31.423 - 2005-6-10 2:20:32.159
Me é retornada uma diferença de 14 horas, sendo que se pegarmos a data que realmente está no banco que é 2005-06-10 09:21:21.487 verifico que a diferença é de 11 horas.
Agradeço se algué tiver uma dica de como fazer para pegar do banco a data e hora exatamente como está gravado lá.

DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Pessoal, testei um novo trecho de código e o cálculo de tempo funcionou. O problema que estou encontrando é que o meu:
Está retornando somente a data e no momento de calcular:
Ele assume o horário do banco como sendo 00:00:00.000. Fiz um exemplo para testar e gravei no banco a data: 2005-06-13 07:01:16.670 e quando calculei o resultado com o seguinte trecho de código:


Sendo que fiz isto uns 5 minutos após gravar a data no banco, me foi retornada a seguinte resposta na tela:

diferencaHoras: 7

Agradeço se alguém puder me dar uma dica de como fazer para trazer do banco não somente a data, mas juntamente com ela o horário que está gravado lá. Desde de já agradeço a atenção.
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

use getTimestamp() ao inves de getDate()
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
DouglasCar
JavaTeenager

Membro desde: 26/07/2004 11:12:04
Mensagens: 186
Offline

Valeu cv pela força, deu certo. Obrigado!
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team