我在 Haskell 中可用的所有不同的日期和时间库中迷失了方向。我要做的是将文件修改时间格式化为“yyyy-MM-dd”。有人可以告诉我怎么做吗?
我有这个代码片段:
main = do
times <- mapM getModificationTime $ dataFiles config -- dataFiles returns [FilePath].
-- I'd like to do something like the following:
(putStr . unlines . map formatDate) times
这是我尝试过的。请不要笑!
formatDate t =
let (year, month, day) = toGregorian $ utctDay t
in intercalate "-" $ map show [year, fromIntegral month, fromIntegral day]
我知道它还没有完全符合我的规格,因为我不会有几个月和几天的时间被零填充。我可以解决这个问题。但我认为有一种更优雅的方式来获得我所追求的,这就是为什么我用我所追求的而不是我得到的当前错误来命名我的帖子,为了完整起见,它是Couldn't match expected type 'UTCTime' with actual type 'ClockTime'
.
感谢您提供的任何帮助或您可以提供的清晰度。