--- /dev/null
+module Data.Time.HTTP
+ ( format
+ , parse
+ )
+ where
+
+import qualified Data.Time.RFC1123 as RFC1123
+import qualified Text.Parsec as P
+
+import Data.Time
+import Data.Time.HTTP.Parsec
+
+
+format :: UTCTime -> String
+format utcTime
+ = let timeZone = TimeZone 0 False "GMT"
+ zonedTime = utcToZonedTime timeZone utcTime
+ in
+ RFC1123.format zonedTime
+
+
+parse :: String -> Maybe UTCTime
+parse src = case P.parse p "" src of
+ Right ut -> Just ut
+ Left _ -> Nothing
+ where
+ p = do zt <- rfc2616DateAndTime
+ _ <- P.eof
+ return zt