module Data.Time.RFC822 (
formatTimeRFC822, parseTimeRFC822
) where
import Control.Applicative
import Data.Maybe
import Data.Monoid.Textual hiding (foldr, map)
import Data.String (fromString)
import Data.Text (Text)
import Data.Time.Calendar
import Data.Time.Format
import Data.Time.LocalTime
import Data.Time.Util
formatTimeRFC822 :: (TextualMonoid t) => ZonedTime -> t
formatTimeRFC822 zonedTime = fromString $ formatTime defaultTimeLocale "%a, %d %b %Y %X %z" zonedTime
formatsRFC822 :: [Text]
formatsRFC822 = [ "%a, %d %b %y %X %z"
, "%a, %d %b %y %X %Z"
, "%a, %d %b %y %H:%M %z"
, "%a, %d %b %y %H:%M %Z"
, "%a, %d %b %Y %X %z"
, "%a, %d %b %Y %X %Z"
, "%a, %d %b %Y %H:%M %z"
, "%a, %d %b %Y %H:%M %Z"
, "%d %b %y %X %z"
, "%d %b %y %X %Z"
, "%d %b %y %H:%M %z"
, "%d %b %y %H:%M %Z"
, "%d %b %Y %X %z"
, "%d %b %Y %X %Z"
, "%d %b %Y %H:%M %z"
, "%d %b %Y %H:%M %Z"
]
parseTimeRFC822 :: (TextualMonoid t) => t -> Maybe ZonedTime
parseTimeRFC822 = parseTimeUsing formatsRFC822