我有几秒钟。比方说 270921。我如何显示该数字表示它是 xx 天、yy 小时、zz 分钟、ww 秒?
最佳答案
可以使用 divmod
非常简洁地完成:
t = 270921
mm, ss = t.divmod(60) #=> [4515, 21]
hh, mm = mm.divmod(60) #=> [75, 15]
dd, hh = hh.divmod(24) #=> [3, 3]
puts "%d days, %d hours, %d minutes and %d seconds" % [dd, hh, mm, ss]
#=> 3 days, 3 hours, 15 minutes and 21 seconds
您可能可以通过使用 collect
或 inject
发挥创意来进一步 DRY 它,但是当核心逻辑是三行时,它可能有点矫枉过正。
关于ruby - 如何将 270921sec 转换为天 + 小时 + 分钟 + 秒? ( ruby ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310197/