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.RFC1123.Parsec
15 The syntax for the date is hereby changed to:
17 date = 1*2DIGIT month 2*4DIGIT
20 format :: ZonedTime -> String
22 = let localTime = zonedTimeToLocalTime zonedTime
23 timeZone = zonedTimeZone zonedTime
24 (year, month, day) = toGregorian (localDay localTime)
25 (_, _, week) = toWeekDate (localDay localTime)
26 timeOfDay = localTimeOfDay localTime
28 concat [ shortWeekDayName week
32 , shortMonthName month
36 , show2 (todHour timeOfDay)
38 , show2 (todMin timeOfDay)
40 , show2 (floor (todSec timeOfDay))
42 , show4digitsTZ timeZone
45 parse :: String -> Maybe ZonedTime
46 parse src = case P.parse p "" src of
50 p = do zt <- rfc1123DateAndTime