模块:Get/timestamp

此模块的文档可以在模块:Get/timestamp/doc创建

local p = {}

function p.main(frame)
    local args = frame.args
	ye = args[1]
	mo = args[2]
	da = args[3]
	ho = args[4]
	mi = args[5]
	se = args[6]
	return os.time{year = ye, month = mo, day = da, hour = ho, min = mi, sec = se}
end

function p.dayName(frame)
    local args = frame.args
	ye = args[1]
	mo = args[2]
	da = args[3]
    return os.date("%w", os.time{year = ye, month = mo, day = da})
end

function p.rollBackToDayName(frame)
    local args = frame.args
	local year = string.sub(args[1], 1, 4) + 0
	local month = string.sub(args[1], 5, 6) + 0
	local day = string.sub(args[1], 7, 8) + 0

	local dayNumTo = args[2] + 0
	local dayNum = string.sub(os.date("%wday", os.time{year = year, month = month, day = day}), 1, 1) + 0
	local dayGap = (dayNumTo - dayNum - 8) % 7 - 6

	return os.date("%Y%m%d", os.time{year = year, month = month, day = day} + 86400 * dayGap)
end

function p.roll(frame)
    local args = frame.args
	local year = string.sub(args[1], 1, 4) + 0
	local month = string.sub(args[1], 5, 6) + 0
	local day = string.sub(args[1], 7, 8) + 0

	return os.date("%Y%m%d", os.time{year = year, month = month, day = day} + 86400 * args[2])
end

return p