我试过用google搜索,但努力寻找一个具体的例子或我应该使用这个库。如何将UTCTime/NominalDiffTime格式化为人类可读表示?
我想格式化NominalDiffTime
类型的值(NominalDiffTime),例如05/10/2017 10:10AM
。
我试过用google搜索,但努力寻找一个具体的例子或我应该使用这个库。如何将UTCTime/NominalDiffTime格式化为人类可读表示?
我想格式化NominalDiffTime
类型的值(NominalDiffTime),例如05/10/2017 10:10AM
。
想通了。我认为有一些混淆因为别名:type POSIXTime = NominalDiffTime
(https://hackage.haskell.org/package/time-1.8.0.3/docs/Data-Time-Clock-POSIX.html#t:POSIXTime)。
import Data.Time.Clock
import Data.Time.Format
import Data.Time.Clock.POSIX
formatTime defaultTimeLocale "%d/%m/%Y %H:%M" (posixSecondsToUTCTime (yourTimeValue) :: UTCTime)
我会推荐fmt
库进行时间格式化。
实施例这里:
ghci> import Data.Time (getZonedTime)
ghci> import Fmt.Time (dateDashF, dateSlashF)
ghci> t <- getZonedTime
ghci> t
2017-10-05 14:53:08.818531 MSK
it :: ZonedTime
ghci> dateDashF t
"2017-10-05"
it :: Data.Text.Internal.Builder.Builder
ghci> dateSlashF t
"10/05/17"
it :: Data.Text.Internal.Builder.Builder
我建议[了'thyme'库(http://hackage.haskell.org/package/thyme-0.3.5.5/docs/Data-Thyme-Format -Human.html)。 – leftaroundabout