Pseudo-Code
Code:
Wenn StartZeit nicht zwischen 07:00 und 21:00 dann
Nehme nächste mögliche StartZeit
Wäre in deinem Beipspiel als anstatt
21.06.2018 22:00 der
22.06.2018 07:00
Code:
Wenn EndZeit nicht zwischen 07:00 und 21:00 dann
Nehme letzt mögliche EndZeit
Wäre dann anstatt
21.06.2018 22:00 der
21.06.2018 21:00
In dem aktuelle Beipiel würde sich bei
22.06.2018 08:00 nichts ändern.
Jetzt einfach mit zwischen den beiden Werten die Differenz bilden.
Umfasst die Zeitspanne mehrere Tage, dann muss man zusätzlich die ANzahl der Tage ermitteln und für jeden Tag 10 Stunden abziehen.