X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=time-http.git;a=blobdiff_plain;f=Data%2FTime%2FRFC733%2FParsec.hs;h=f266193a66a01fe63f470c51c2311a33bc00de35;hp=baf24691047965c05eb9dfd93ebc6967931b795c;hb=42ffc2dd3bba56145796d381e2570739c32d7d74;hpb=01d923fe509a76afa27efdc7370438c5d4900492 diff --git a/Data/Time/RFC733/Parsec.hs b/Data/Time/RFC733/Parsec.hs index baf2469..f266193 100644 --- a/Data/Time/RFC733/Parsec.hs +++ b/Data/Time/RFC733/Parsec.hs @@ -1,6 +1,6 @@ {-# LANGUAGE FlexibleContexts #-} module Data.Time.RFC733.Parsec - ( parser + ( rfc733DateAndTime ) where @@ -11,9 +11,9 @@ import Data.Time.Calendar.WeekDate import Data.Time.HTTP.Common import Text.Parsec - -parser :: Stream s m Char => ParsecT s u m ZonedTime -parser = dateTime +-- |This is a parsec parser for RFC 733 date and time strings. +rfc733DateAndTime :: Stream s m Char => ParsecT s u m ZonedTime +rfc733DateAndTime = dateTime dateTime :: Stream s m Char => ParsecT s u m ZonedTime dateTime = do weekDay <- optionMaybe $ @@ -44,11 +44,11 @@ date = do day <- read2 <|> liftM (+ 1900) read2 _ <- char ' ' - assertGregorianDateIsGood (toInteger year) month day + assertGregorianDateIsGood year month day time :: Stream s m Char => ParsecT s u m (TimeOfDay, TimeZone) time = do tod <- hour - _ <- char ' ' + _ <- char '-' <|> char ' ' tz <- zone return (tod, tz)