在 Rails 中格式化浮动时间

nul*_*tek 4 ruby floating-point datetime ruby-on-rails-3

我有一个名为dispatched_time的日期时间,我从Time.now中减去它,结果是一个浮点数,即:302.332,这是一个名为elapsed_time的方法。我需要找到一种方法来获取该数字的值并将其格式化为我认为的时间。即:13:20。

我尝试使用 elapsed_time.strftime("%H%M") 但 strftime 不会处理浮点数。

有人可以帮我将秒内的浮点数转换为 HH:MM 格式吗?

Wil*_*iam 5

你可以试试Time.at(elapsed_time).utc.strftime("%H:%M")。这应该为您提供两个时间之间的小时/分钟,就像时间本身一样创建。请注意,如果两个时间之间的时间间隔超过 24 小时,则此方法可能无法正常工作,在这种情况下,您需要"%d"向传递给 的字符串添加天数参数 ( ) strftime