Module:Duration: Difference between revisions
From Stationeers Community Wiki
More actions
Create duration module for converting seconds to a human-readable duration |
Receive arguments correctly |
||
| Line 1: | Line 1: | ||
local duration = {} | local duration = {} | ||
function duration.fromSeconds( | function duration.fromSeconds(frame) | ||
local seconds = tonumber(seconds) | local seconds = tonumber(frame.args[1]) | ||
if not seconds then | |||
return "<strong>Error in Module:Duration: argument 1 ('" .. frame.args[1] .. "') is not a number</strong>" | |||
end | |||
local result = "" | local result = "" | ||
if seconds >= 3600 then | if seconds >= 3600 then | ||
Revision as of 03:22, 19 March 2026
Documentation for this module may be created at Module:Duration/doc
local duration = {}
function duration.fromSeconds(frame)
local seconds = tonumber(frame.args[1])
if not seconds then
return "<strong>Error in Module:Duration: argument 1 ('" .. frame.args[1] .. "') is not a number</strong>"
end
local result = ""
if seconds >= 3600 then
local hours = math.floor(seconds / 3600)
seconds = seconds - hours*3600
result = result .. hours .. " h"
end
if seconds >= 60 then
if #result > 0 then
result = result .. " "
end
local minutes = math.floor(seconds / 60)
seconds = seconds - minutes * 60
result = result .. minutes .. " min"
end
if seconds > 0 or #result == 0 then
if #result > 0 then
result = result .. " "
end
result = result .. seconds .. " s"
end
return result
end
return duration