[project @ 2001-05-18 16:54:04 by simonmar]
[ghc-hetmet.git] / ghc / tests / lib / Time / time003.hs
1 import Time
2
3 main :: IO ()
4 main = do
5     time <- getClockTime
6     let l = length (show time)
7     print (l == 28 || l == 29) -- "CEST" vs "UTC" vs "GMT" vs...
8     let (CalendarTime year month mday hour min sec psec 
9                       wday yday timezone gmtoff isdst) = toUTCTime time
10         time2 = wdays !! fromEnum wday ++
11                 (' ' : months !! fromEnum month) ++
12                 (' ' : shows2 mday (' ' : shows2 hour (':' : shows2 min (':' : shows2 sec
13                 (' ' : timezone ++ ' ' : shows year "\n")))))
14         l2 = length time2
15     print (l == 28 || l == 29)
16
17   where
18     wdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
19     months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", 
20               "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
21     shows2 x = showString (pad2 x)
22     pad2 x = case show x of
23                c@[_] -> '0' : c
24                cs -> cs