Module:Time

From Melvor Idle
Revision as of 20:52, 13 April 2024 by Ricewind (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Provides time helper functions that can be used elsewhere in the wiki


local p = {}

local Number = require('Module:Number')
local TimeSpan = require('Module:TimeSpan')

function p._secondsToHMS(totalSeconds)
	local days = math.floor(totalSeconds / (24 * 60 * 60))
	if days >= 1 then
		return string.format('%d day%s, ', days, (days > 1) and "s" or "") .. os.date("!%X", totalSeconds)
	else
		return os.date("!%X", totalSeconds)
	end
end

function p._secondsToHuman(totalSeconds)
	local timeSpan = TimeSpan.fromSeconds(totalSeconds)
	return timeSpan:toStringLong()
end

function p.secondsToHuman(frame)
	local args = frame.args ~= nil and frame.args or frame
	return p._secondsToHuman(args[1])
end

return p