24/11/2005

Calculo Com Horas

Ola pessoal estou com um baita problemasso no calculo de horas, estou utilizando TDateTime

por exemplo

o calculo de horas, minutos, segundos nao esta funcionando corretamente quando a diferenca passa da 00:00. por exemplo

00:00 - 05:00 = 05:00, oq olhando para o relogio na seria correto, o correto seria 19:00.

o meu codigo eh o seguinte
TimetoStr(IncHour(StrToTime(´00:00´), -5))

o mesmo problema ocorre quando eh IncMinuto, IncSecond;

alguem jah tinha se deparado com isso....

a explicacao eu sei... oq eu gostaria de saber eh a correcao.


Night_man

Respostas

24/11/2005

Edilcimar

para dar 19 vc não tem que tirar de 0 e sim de 24


Responder Citar

24/11/2005

Night_man

As horas vao entre 00:00 e 23:59. 24:00 nao eh uma hora valida....



mas tudo bem, mudo o meu problema de:
´
00:00 - 05:00 = 05:00, oq olhando para o relogio na seria correto, o correto seria 19:00.

o meu codigo eh o seguinte
TimetoStr(IncHour(StrToTime(´00:00´), -5)) ´

para:

´01:00 - 05:00 = 04:00, oq olhando para o relogio na seria correto, o correto seria 20:00.

o meu codigo eh o seguinte
TimetoStr(IncHour(StrToTime(´01:00´), -5)) ´


Responder Citar

24/11/2005

Emerson

uma das formas é verificar se a hora inicial é maior que a final. se for, vc subtrai o valor de 24.

mas pra sanar esse problema, o correto seria trabalhar com data/hora e não somente com a hora.


Responder Citar