summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib/Time/time003.hs
blob: 4dda0e466fc0075ec915223f98dc5e43001ec5d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import System.Time

main :: IO ()
main = do
    time <- getClockTime
    print (plausible (show time))
    let (CalendarTime year month mday hour min sec psec 
                      wday yday timezone gmtoff isdst) = toUTCTime time
        time2 = wdays !! fromEnum wday ++
	        (' ' : months !! fromEnum month) ++
		(' ' : shows2 mday (' ' : shows2 hour (':' : shows2 min (':' : shows2 sec
		(' ' : timezone ++ ' ' : shows year "\n")))))
    print (plausible time2)

  where
    wdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
    months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", 
	      "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
    shows2 x = showString (pad2 x)
    pad2 x = case show x of
               c@[_] -> '0' : c
               cs -> cs

    plausible str = filter (== ':') str == "::"