cron-0.5.0: src/System/Cron/Internal/Describe/Time.hs
module System.Cron.Internal.Describe.Time where
import System.Cron.Internal.Describe.Types
newtype Minute = Minute Int
newtype Hour = Hour Int
format :: TimeFormat -> Minute -> Hour -> String
format t (Minute m) (Hour h) = leftPad (hour t) ++ ":" ++ leftPad m ++ suffix t
where leftPad n
| n < 10 = "0" ++ show n
| otherwise = show n
suffix Hour24 = ""
suffix Hour12
| h < 12 = " AM"
| otherwise = " PM"
hour Hour24 = h
hour Hour12
| h > 12 = h `mod` 12
| otherwise = h