X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Data%2FTime%2FRFC822.hs;h=1352e6d58428e12c760cda253de160db92956590;hb=7ed69912b457694657e70496f695685493abcab5;hp=fa4f8efe7d532046dae63901884f54110f43751a;hpb=01d923fe509a76afa27efdc7370438c5d4900492;p=time-http.git diff --git a/Data/Time/RFC822.hs b/Data/Time/RFC822.hs index fa4f8ef..1352e6d 100644 --- a/Data/Time/RFC822.hs +++ b/Data/Time/RFC822.hs @@ -1,6 +1,9 @@ module Data.Time.RFC822 ( format , parse + + -- private + , showRFC822TimeZone ) where @@ -66,14 +69,19 @@ format zonedTime , ":" , show2 (floor (todSec timeOfDay)) , " " - , showTZ timeZone + , showRFC822TimeZone timeZone ] +showRFC822TimeZone :: TimeZone -> String +showRFC822TimeZone tz + | timeZoneMinutes tz == 0 = "GMT" + | otherwise = show4digitsTZ tz + parse :: String -> Maybe ZonedTime parse src = case P.parse p "" src of Right zt -> Just zt Left _ -> Nothing where - p = do zt <- parser + p = do zt <- rfc822DateAndTime _ <- P.eof return zt