1 module Data.Time.RFC1123
7 import qualified Text.Parsec as P
10 import Data.Time.Calendar.WeekDate
11 import Data.Time.HTTP.Common
12 import Data.Time.RFC822 (showRFC822TimeZone)
13 import Data.Time.RFC1123.Parsec
16 The syntax for the date is hereby changed to:
18 date = 1*2DIGIT month 2*4DIGIT
21 format :: ZonedTime -> String
23 = let localTime = zonedTimeToLocalTime zonedTime
24 timeZone = zonedTimeZone zonedTime
25 (year, month, day) = toGregorian (localDay localTime)
26 (_, _, week) = toWeekDate (localDay localTime)
27 timeOfDay = localTimeOfDay localTime
29 concat [ shortWeekDayName week
33 , shortMonthName month
37 , show2 (todHour timeOfDay)
39 , show2 (todMin timeOfDay)
41 , show2 (floor (todSec timeOfDay))
43 , showRFC822TimeZone timeZone
46 parse :: String -> Maybe ZonedTime
47 parse src = case P.parse p "" src of
51 p = do zt <- rfc1123DateAndTime