Somar hora
Preciso somar campo do BD do tipo Time.
O problema acontece quando o total da soma ultrapassa o valor de 24:00:00 horas.
Por exemplo:
1ª hora - 20:00:00
2ª hora - 20:00:00
O Resultado deveria ser 40:00:00, porém por ser um campo Time ele vai até 23:59:00 e zera e continua a soma ignorando as horas anteriores.
No caso do nosso exemplo mostraria o resultado 16:41:00!
Como resolver isso?
Delphi 5
Paradox
O problema acontece quando o total da soma ultrapassa o valor de 24:00:00 horas.
Por exemplo:
1ª hora - 20:00:00
2ª hora - 20:00:00
O Resultado deveria ser 40:00:00, porém por ser um campo Time ele vai até 23:59:00 e zera e continua a soma ignorando as horas anteriores.
No caso do nosso exemplo mostraria o resultado 16:41:00!
Como resolver isso?
Delphi 5
Paradox
Osmar Cardoso
Curtidas 0
Respostas
Flaviosan
02/07/2004
Olha Osmar, não sei se te ajuda, mas os tipos TDateTime são tratados pelo Delphi como se fossem numeros do tipo Double, por exemplo a data/hora ´2/7/2004 10:21:35´, em tipo Double equivale a ´38170,4316615857´, onde os numeros antes da virgula representam a data e os depois da virgula representam a hora. Deve haver um calculo que converta Double em data/hora, assim como se dividir 2400 minutos por 60 obtivemos o valor de 40 horas. Não sei se fui bem claro.
Espero ter ajudado.
Espero ter ajudado.
GOSTEI 0