Najlepiej byłoby, gdyby potrzebne były dwa pola w każdym razie:
- Przechowuj dwie daty/godziny oddzielnie --LUB--
- Zapisz jedną datę/godzinę i zapisz czas, który upłynął
Przeglądając Twoje wymagania, wybrałbym dwa oddzielne pola daty/czasu; i obliczyć pełne dni/półdni z uwzględnieniem (dodawanie/odejmowanie) świąt.
Zachowaj oddzielną tabelę konfiguracji aby zdefiniować/skonfigurować maksymalny/minimalny czas trwania dnia.
Wykonuj dowolne obliczenia w dniu/godzinie, w zapytaniu, lub alternatywnie w interfejsie użytkownika, po działaniach użytkownika - jeśli chcesz.