我在我的 Haskell 程序中有这样的一段代码:
...
start <- getCurrentTime
...
end <- getCurrentTime
...
delta = end `diffUTCTime` start
...
在此之后,delta
的类型为 NominalDiffTime
。正如文档所述,此类型继承自 Num
,我想以小数点后3位的形式打印它。然而,使用类似于 printf "%.3f" delta
的方法行不通:No instance for (PrintfArg NominalDiffTime)
。
如何正确实现这个功能呢?
delta
不一定是两者之间经过的时间 - 例如,NominalDiffTime
忽略了闰秒。 - Ben Millwood