It can be done pretty concisely using 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
You could probably DRY it further by getting creative with collect
, or maybe inject
, but when the core logic is three lines it may be overkill.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…