more compact _hour function