Descubri o tempo de duas horas??????????????

Delphi

07/08/2003

Pessoal, estou com problemas é que tenho que pegar a diferente entre duas datas. Ex: 05/08/2003 13:28:23 (DAT_SOLICITACAO) e
05/08/2003 13:43:39 (DAT_FECHAMENTO). Usando o código abaixo está me retornando um valor maior que deveria. Alguém poderia me ajudar?
ps: Estou usando Oracle 8i

TempoTotalOS := Qy_RelAcessTempo.FieldByName(´DAT_FECHAMENTO´).AsDateTime - Qy_RelAcessTempo.FieldByName(´DAT_SOLICITACAO´).AsCurrency;

QRLOSTempoTotal.Caption := FormatFloat(´#,0.00 hs´, (TempoTotalOS * 24));


Guedes.


Guedes.rj

Guedes.rj

Curtidas 0

Respostas

4_olho

4_olho

07/08/2003

TempoTotalOS := Qy_RelAcessTempo.FieldByName(´DAT_FECHAMENTO´).[color=red:3199500885]AsDateTime[/color:3199500885] - Qy_RelAcessTempo.FieldByName(´DAT_SOLICITACAO´).[color=red:3199500885]AsCurrency[/color:3199500885];

Procure utilizar o mesmo tipo para ambos. DateTime com Currency ? Não dá!


GOSTEI 0
Guedes.rj

Guedes.rj

07/08/2003

Já tentei, mais não funcionou!


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

07/08/2003

Colega,

TempoTotalOS := Trunc(Qy_RelAcessTempo.FieldByName(´DAT_FECHAMENTO´).AsDate) - Trunc(Qy_RelAcessTempo.FieldByName(´DAT_SOLICITACAO´).AsDate)+1; 


Oops! Aguenta ai que eu fiz para data, Estou corrigindo.... para horas.


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

07/08/2003

Colega,

Mais fácil com:

Unit

DateUtils

Category

date/time routines

function HoursBetween(const ANow, AThen: TDateTime): Int64;

Description

Call HoursBetween to obtain the difference, in hours, between two TDateTime values. HoursBetween counts only entire hours. Thus, HoursBetween reports the difference between 9:00 AM and 9:59:59 AM as 0 because the difference is one second short of an entire hour.


GOSTEI 0
POSTAR