Convert seconds to compound duration: Difference between revisions
Content added Content deleted
m (→{{header|Java}}: simpler) |
(→{{header|Ruby}}: add ruby sample) |
||
Line 963: | Line 963: | ||
123.00 seconds: 2 min, 3 sec |
123.00 seconds: 2 min, 3 sec |
||
0.00 seconds: 0 sec |
0.00 seconds: 0 sec |
||
</pre> |
|||
=={{header|Ruby}}== |
|||
<lang ruby>MINUTE = 60 |
|||
HOUR = MINUTE*60 |
|||
DAY = HOUR*24 |
|||
WEEK = DAY*7 |
|||
def sec_to_str(sec) |
|||
w, rem = sec.divmod(WEEK) |
|||
d, rem = rem.divmod(DAY) |
|||
h, rem = rem.divmod(HOUR) |
|||
m, s = rem.divmod(MINUTE) |
|||
units =["#{w} wk", "#{d} d","#{h} h", "#{m} min", "#{s} sec"] |
|||
units.reject{|str| str.start_with?("0")}.join(", ") |
|||
end |
|||
[7259, 86400, 6000000].each{|t| puts "#{t}\t: #{sec_to_str(t)}"}</lang> |
|||
Output: |
|||
<pre> |
|||
7259 : 2 h, 59 sec |
|||
86400 : 1 d |
|||
6000000 : 9 wk, 6 d, 10 h, 40 min |
|||
</pre> |
</pre> |
||