Diferença em horas entre dois dias diferentes
Olá amigos Delphianos. Bom Dia.
Gostaria de saber se algum de vocês sabem como faço para descobrir a diferença em horas de por exemplo: Data e Hora Inicial: 19/11/2005 20:51:25 e Data e Hora Final: 20/11/2005 01:04:05...
Quando calculo a diferença dentro do mesmo dia dá certo, porem, se o relógio passa para 00:05:00 do outro dia por exemplo o resultado fica errado...
Gostaria da ajuda de vocês, se alguem tiver uma função ou procedure que possa me ajudar, agradeço antecipadamente.
Até Breve!
Márcio M. Camilo
Caldas Novas - GO
Gostaria de saber se algum de vocês sabem como faço para descobrir a diferença em horas de por exemplo: Data e Hora Inicial: 19/11/2005 20:51:25 e Data e Hora Final: 20/11/2005 01:04:05...
Quando calculo a diferença dentro do mesmo dia dá certo, porem, se o relógio passa para 00:05:00 do outro dia por exemplo o resultado fica errado...
Gostaria da ajuda de vocês, se alguem tiver uma função ou procedure que possa me ajudar, agradeço antecipadamente.
Até Breve!
Márcio M. Camilo
Caldas Novas - GO
Mmcamilo
Curtidas 0
Respostas
Crash
20/11/2005
contando que 24 horas exatas eh contada como 1 entao 1 hora seria 1/24.
nao testei o codigo... mais qualquer coisas fala.
t+
function TempoPassado(DataHoraIni, DataHoraFin: TDateTime): String; var Horas: TTime; Total: Extended; Hora, Minuto, Segundo, MSeg: word; begin Total := DataHoraFin - DataHoraIni; Horas := Frac(Total); DecodeTime(Total, Hora, Minuto, Segundo, MSeg); Hora := Hora + Trunc(24 * Trunc(Total)); Result := FormatFloat(´00´, Horas) + ´:´ + FormatFloat(´00´, Minutos) + ´:´ + FormatFloat(´00´, Segundos); end;
nao testei o codigo... mais qualquer coisas fala.
t+
GOSTEI 0
Edilcimar
20/11/2005
use um campo DATETIME, aí quando vc fizer a diferença ele já faz a conta de forma correta
GOSTEI 0
Mmcamilo
20/11/2005
contando que 24 horas exatas eh contada como 1 entao 1 hora seria 1/24.
nao testei o codigo... mais qualquer coisas fala.
t+
function TempoPassado(DataHoraIni, DataHoraFin: TDateTime): String; var Horas: TTime; Total: Extended; Hora, Minuto, Segundo, MSeg: word; begin Total := DataHoraFin - DataHoraIni; Horas := Frac(Total); DecodeTime(Total, Hora, Minuto, Segundo, MSeg); Hora := Hora + Trunc(24 * Trunc(Total)); Result := FormatFloat(´00´, Horas) + ´:´ + FormatFloat(´00´, Minutos) + ´:´ + FormatFloat(´00´, Segundos); end;
GOSTEI 0
Mmcamilo
20/11/2005
Testei seu codigo e ele realmente não funcionou...
Mas obrigado, sua intenção foi boa, se tiver alguma correção a fazer te agradeço novamente.
Att.
Márcio
Mas obrigado, sua intenção foi boa, se tiver alguma correção a fazer te agradeço novamente.
Att.
Márcio
GOSTEI 0