我有一个关于日期和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中的日期.
那么,有没有办法写这样的函数?
在此先感谢您的帮助!