+++ /dev/null
-{-# LANGUAGE FlexibleContexts #-}
-module Data.Time.Asctime.Parsec
- ( asctime
- )
- where
-
-import Control.Monad
-import Data.Fixed
-import Data.Time
-import Data.Time.Calendar.WeekDate
-import Data.Time.HTTP.Common
-import Text.Parsec
-
--- |This is a parsec parser for ANSI C's asctime() format.
-asctime :: Stream s m Char => ParsecT s u m LocalTime
-asctime = do weekDay <- shortWeekDayNameP
- _ <- string ", "
- month <- shortMonthNameP
- _ <- char ' '
- day <- read2
- _ <- char ' '
- hour <- read2
- _ <- char ':'
- minute <- read2
- _ <- char ':'
- second <- read2
- _ <- char ' '
- year <- read4
-
- gregDay <- assertGregorianDateIsGood year month day
- _ <- assertWeekDayIsGood weekDay gregDay
- tod <- assertTimeOfDayIsGood hour minute second
-
- return (LocalTime gregDay tod)