Poszukuję pomysłu do obliczenia roboczo godzin

0

Witajcie mam następujacy problem zarys problemu.

Mamy firmę X
Firma X przyjmuje zlecenia w godzinach 9-16
Klient Przynosi zlecenie
Zlecenie trafia do firmy o godzinie 11
Problemem jest znalezienie liczby godzin pomiędzy przyjęciem zlecenia a obecną datą/godziną.
Liczę tylko liczbę godzin roboczych które upłynęły od przyjecia zlecenia
Przykład:
zlecenie trafia o godzine 10 w poniedziałek do końca dna leży więc 6 godzin
w następnym dniu leży już pełne 8 godzin z danego dnia łacznie wiec jest to 6+8 =14
Jeśli sprawdzimy teraz status zadania to w środę o godzinie 11 będzie już leżeć kolejne 3 godziny łacznie wiec 17 godzin roboczych w systemie. (nie liczymy sobót i niedziel)
Problmem nie jest sam algorytm (iteracyjnie można by liczyć np co godzię.) ale liczba zadań które muszę przeliczyć (a będzie tego kilkanaście tysięcy na raz) troszkę googlowałem i znalazłem cos takiego:
http://stackoverflow.com/questions/8914360/calculating-working-hours-between-two-dates
Nie wydaje mi się jednak to optymlne do użytku (iteracja chyba zła) :D
Czy macie jakiś pomysł jak zorganizować takie liczenie (problemmem potem jest chociażby z latami przoestępnymi , zmianą czasu z letniego na zimowy itd. Zadanie z pozoru banalne takie niestety nie jest.

0

odliczasz święta?

zmiana czasu Cię nie dotyczy, bo nie pracujesz w godzinach kiedy zmiana czasu występuje.

liczysz pełną liczbę dni roboczych od następnego dnia od przyjęcia zlecenia, do poprzedniego dnia od zakończenia zlecenia/sprawdzenia zlecenia, mnożysz razy 8 i dodajesz te pojedyncze brakujące godziny - banał.

do liczenia ile dni roboczych wg polskich świąt minęło - jest funkcja gdzieś na necie, w google łatwo znajdziesz, ona bardzo szybko działa

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