Sumowanie/Odejmowanie dużej ilości godzin.

0

Witam.

Podpowiedzcie mi proszę w jaki sposób od normy miesięcznej odjąć liczbę przepracowanych godzin ?

Mam w tabeli ilość godzin przepracowanego każdego dnia - np. 8:30, 10:20.
Sumując te czasy (korzystając z StrToTime) otrzymuje poprawnie: 18:50.
Jednak co zrobić gdy w skali całego miesiąca mamy powiedzmy 180 godzin ? (z tego co zauważyłem licznik "przekręca się" po przekroczeniu doby - 24 godzin).

Analogicznie później przy odejmowaniu: muszę odjąć tą otrzymaną sumę od normy miesięcznej (tu również będzie ok 180 godzin) aby sprawdzić czy pracownik ma nadgodziny .

W jaki sposób operować na tak "dużych godzinach"?

1

Operować możesz normalnie odejmując i dodając.
Po czym robisz DecodeTime(TimeSum,Hour, Min,Sec,MSec);
Po czym: FullHours=Hour+24*Floor(TimeSum);

Z tym że odradzam używanie do tego celu TDateTime.
Trzymaj wszystkie te dane w postaci liczby całkowitej oznaczającej liczbę minut.
Wydruk: Format('%.2d',[Minuty div 60,Minuty mod 60]);

1 użytkowników online, w tym zalogowanych: 0, gości: 1