parseTime :: ParseTime t => TimeLocale -> String -> String -> Maybe t
此函数使用第二个参数(日期字符串)来检查其第三个参数(日期字符串)的格式。
但是,它不检查日期的有效性-而是舍入到最接近的有效日期。

import System.Locale
import Data.Time
parseTime defaultTimeLocale "%Y-%m-%d" "2015-01-99" :: Maybe Day
Just 2015-01-31
我想要的是获取有效日期或错误。

最佳答案

好问题!据我所知,您不能这样做。

但是,在github问题跟踪器上请求该功能将是一项出色的功能:https://github.com/haskell/time

10-07 21:00