小编rob*_*sha的帖子

Haskell函数将日期的一部分作为字符串

我有一个关于日期和StringHaskell 的初学者问题.

我需要像String在Haskell中那样获得日期(年,月或日)的一部分.我发现,如果我在GHCi中写下以下两行

Prelude> now <- getCurrentTime
Prelude> let mon = formatTime defaultTimeLocale "%B" now
Run Code Online (Sandbox Code Playgroud)

mon是类型String.但是,我无法将其置于一个功能中.我试过以下内容:

getCurrMonth = do
    now <- getCurrentTime
    putStrLn (formatTime defaultTimeLocale "%B" now)
Run Code Online (Sandbox Code Playgroud)

但这会返回类型IO (),我需要String(也不是IO String,只String).

我理解该do语句创建了一个我不想要的monad,但我一直无法找到任何其他解决方案来获取Haskell中的日期.

那么,有没有办法写这样的函数?

在此先感谢您的帮助!

io monads datetime haskell

6
推荐指数
2
解决办法
2194
查看次数

标签 统计

datetime ×1

haskell ×1

io ×1

monads ×1