Convert seconds to compound duration: Difference between revisions

Content added Content deleted
m (→‎{{header|Wren}}: Changed to Wren S/H)
(added langur language example)
Line 2,545: Line 2,545:
86400 -> 1 d
86400 -> 1 d
6000000 -> 9 wk, 6 d, 10 hr, 40 min
6000000 -> 9 wk, 6 d, 10 hr, 40 min
</pre>

=={{header|langur}}==
<syntaxhighlight lang="langur">val .duration = f(var .sec) {
toHash(
w/wk d hr min sec/,
for[=[]] .dm in [7 x 24 x 60 x 60, 24 x 60 x 60, 60 x 60, 60] {
var .rem
.rem, .sec = .sec \ .dm, .sec rem .dm
_for ~= [.rem]
} ~ [.sec],
)
}

for .seconds in [7259, 86400, 6000000] {
val .h = .duration(.seconds)
write $"\.seconds:7; sec = "
writeln join ", ", for[=[]] .k of .h {
if .h[.k] != 0: _for ~= [toString(.h[.k]) ~ " " ~ .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>
</pre>