以小时,分钟和秒为单位打印NominalDiffTime
我很惊讶之前没有人问过这个问题,但是......我如何NominalDiffTime
打印NominalDiffTime
小时,分钟和秒钟? (可能几天,如果碰巧那么长...)
出于未知原因, Show
实例打印总秒数,这显然是无用的。 (13555.22秒,几分钟?一天?半小时?我不知道!)
有FormatTime
类,但它不适用于NominalDiffTime
。
看来你可以使用floor
方法将总秒数作为实际数字,但是你怎么处理它呢?
据我所知, DiffTime
也无济于事。
必须有一种方式来打印持续时间...
您可以通过TimeOfDay
打印DiffTime
- 实际上代表持续时间,并且很可能是您应该使用的类型。 正确掌握DiffTime
实际上有点棘手; 你需要:
utcToTAITime
转换为AbsoluteTime
和 diffAbsoluteTime
获得DiffTime
,和 timeToTimeOfDay
让图书馆为你做你的divmod,最后 formatTime
打印这个。 floor
[1]给你(如你所说)秒数,然后你可以使用div
和mod
转换成小时,分钟和秒。
例如:
floor ndt `div` 60 -- minutes, which may be more than 59
floor ndt `mod` 60 -- seconds
[1]不像fromEnum
,它是一个“转换函数”,但不会转换为秒,与文档所述相反。