Added convertCityTimeToUtcZeroTime() method to fix the time-not-correct bug.
Implemented the abstract method in the 5 subclasses.
Added the keepInRange0To24() method.