[英]Parsing a date form a string of form YYYY-MM-DD in Haskell
Is there a way in Haskell to parse a date from a string of format "YYYY-MM-DD"? Haskell中是否可以从格式为“ YYYY-MM-DD”的字符串中解析日期? That is, something like
parseDateFromString 2016-10-20
that would then return a date in some commonly used Haskell date format. 也就是说,像
parseDateFromString 2016-10-20
这样的东西parseDateFromString 2016-10-20
某种常用的Haskell日期格式返回日期。
Data.Time
provides parseTimeM
, which is a bit unwieldy. Data.Time
提供parseTimeM
,这有点笨拙。 I might be overlooking a simpler alternative. 我可能会忽略一个更简单的选择。
> import Data.Time
> parseTimeM False defaultTimeLocale "%Y-%m-%d" "2016-10-20" :: Maybe UniversalTime
Just 2016-10-20 00:00:00
The return type is fairly open. 返回类型是相当开放的。 You can return the value to any monad;
您可以将值返回给任何单子。
Maybe
seemed like a good example to reflect an answer or a failure to parse the string. Maybe
似乎是一个很好的例子,以反映答案或失败来解析字符串。 The type wrapped by Maybe
is any instance of the ParseTime
typeclass; Maybe
包装的类型是ParseTime
类型类的任何实例。 UniversalTime
is defined in the library. UniversalTime
在库中定义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.