简体   繁体   English

在Haskell中解析日期格式为YYYY-MM-DD的字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM