+-- | Parse W3C Date and Time string.
module Data.Time.W3C.Parser
( parse
)
import Data.Time.W3C.Parser.Parsec
import Data.Time.W3C.Types
+-- | Parse W3C Date and Time string to anything convertible from
+-- 'W3CDateTime' type. The most obvious acceptable type is the
+-- 'W3CDateTime' itself. If the given string is ill-formatted, 'parse'
+-- returns 'Prelude.Nothing'.
parse :: Convertible W3CDateTime t => String -> Maybe t
-parse src
- = case P.parse w3cDateTime "" src of
- Right w3c -> Just (convert w3c)
- Left _ -> Nothing
+parse src = case P.parse p "" src of
+ Right w3c -> Just (convert w3c)
+ Left _ -> Nothing
+ where
+ p = do w3c <- w3cDateTime
+ _ <- P.eof
+ return w3c
\ No newline at end of file