我的持续时间以毫秒为单位,精度为 420.854(420 秒和 854 毫秒)。
我想将其格式化为 (Minutes):(Seconds).(Milliseconds) 所以我尝试了这个:
Time.at(421.854).utc.strftime('%M:%S.%L')
结果:"07:01.853"
如您所见,它关闭了一毫秒。
所以我进一步深入研究:
Time.at(421.854).nsec # Output: 853999999 (expected 854000000)
我相信上面的意外输出是问题的原因。一些数字按预期工作,例如:
Time.at(421.855).nsec # Output 855000000 as expected
有没有人对解决这个问题有任何建议,我能想到的最好的办法是在之后“修复”纳秒组件,(nanoseconds.to_f / 1000000).round * 1000000
但我觉得可能有更好的方法。非常感谢关于这个主题的任何想法。
谢谢。