宗教的なプログラミングにどうぞ
import Data.Time.LocalTime
hourJapanese :: TimeOfDay -> String
hourJapanese (TimeOfDay h m _) = z : s : "つ" where
z = "子丑寅卯辰巳午未申酉戌亥" !! ((h + 1) `div` 2 `mod` 12)
s
| h `mod` 2 == 1 && m < 30 = '一'
| h `mod` 2 == 1 = '二'
| m < 30 = '三'
| otherwise = '四'
isOmagaToki :: TimeOfDay -> Bool
isOmagaToki (TimeOfDay h m _) = 17 <= h && h < 19
isUshi_no_koku :: TimeOfDay -> Bool
isUshi_no_koku (TimeOfDay h m _) = 1 <= h && h < 3