Convert seconds to compound duration: Difference between revisions

 
(7 intermediate revisions by 3 users not shown)
Line 1,555:
=={{header|EasyLang}}==
<syntaxhighlight lang="text">
procfunc$ split sec . s$ .
divs[] = [ 60 60 24 7 ]
n$[] = [ "sec" "min" "hr" "d" "wk" ]
Line 1,564:
.
r[5] = sec
s$ = ""
for i = 5 downto 1
if r[i] <> 0
Line 1,573 ⟶ 1,572:
.
.
return s$
.
print split 7259 s$
print s$split 86400
print split 6000000 s$
split 86400 s$
print s$
split 6000000 s$
print s$
</syntaxhighlight>
 
Line 2,548 ⟶ 2,545:
86400 -> 1 d
6000000 -> 9 wk, 6 d, 10 hr, 40 min
</pre>
 
=={{header|langur}}==
<syntaxhighlight lang="langur">val .duration = fn(var .sec) {
[
fw/wk d hr min sec/,
for[=[]] .dm in [7 * 24 * 60 * 60, 24 * 60 * 60, 60 * 60, 60] {
_for ~= [.sec \ .dm]
.sec rem= .dm
} ~ [.sec],
]
}
 
for .seconds in [7259, 86400, 6000000] {
val .dur = .duration(.seconds)
write $"\.seconds:7; sec = "
writeln join ", ", for[=[]] .k of .dur[1] {
if .dur[2][.k] != 0: _for ~= [$"\.dur[2][.k]; \.dur[1][.k];"]
}
}
</syntaxhighlight>
 
{{out}}
<pre> 7259 sec = 2 hr, 59 sec
86400 sec = 1 d
6000000 sec = 9 wk, 6 d, 10 hr, 40 min
</pre>
 
Line 4,281 ⟶ 4,304:
 
=={{header|Wren}}==
<syntaxhighlight lang="ecmascriptwren">var duration = Fn.new { |s|
if (s < 1) return "0 sec"
var dur = ""
885

edits