以小时,分钟和秒为单位打印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 ,它是一个“转换函数”,但不会转换为秒,与文档所述相反。
