Fix hours calculation

This fixed office hours and timezone related calculation bugs. There is still a bug around holiday calculation and different time zones.