19 lines
531 B
Text
19 lines
531 B
Text
local function duration(s)
|
|
if s < 1 then return "0 sec" end
|
|
local dur = ""
|
|
local divs = {7, 24, 60, 60, 1}
|
|
local units = {"wk", "d", "hr", "min", "sec"}
|
|
local t = divs:reduce(|prod, div| -> prod * div, 1)
|
|
for i = 1, #divs do
|
|
local u = s // t
|
|
if u > 0 then
|
|
dur ..= $"{u} {units[i]}, "
|
|
s %= t
|
|
end
|
|
t //= divs[i]
|
|
end
|
|
if dur:endswith(", ") then dur = dur:sub(1, -3) end
|
|
return dur
|
|
end
|
|
|
|
for {7259, 86400, 6000000} as s do print(duration(s)) end
|