Convert seconds to compound duration: Difference between revisions

Content added Content deleted
(→‎{{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>