Module:AgeTemplate: Difference between revisions

From ProleWiki, the proletarian encyclopedia
m (Initialized endDate. Will leave it like this as I need to study the implementation of date differences further)
m (Added function to calculate leap years)
 
Line 1: Line 1:
local p = {}
local p = {}
local function isLeapYear(Year)
if Year%400 == 0 then
return true
end
if Year%4 == 0 and Year%100 ~= 0 then
return true
end
return false
end


function p.age( frame )
function p.age( frame )

Latest revision as of 22:27, 3 September 2022

local p = {}

local function isLeapYear(Year)
	if Year%400 == 0 then
		return true
	end
	if Year%4 == 0 and Year%100 ~= 0 then
		return true
	end
	return false
end

function p.age( frame )
	local pframe = frame:getParent()
	
	local arg1 = pframe.args[1]
	local arg2 = pframe.args[2]
	local arg3 = pframe.args[3]
	
	local initialDate = ""
	local endDate = ""
	if arg1 == "1" or arg1 == "2" or arg1 == "3" then
		initialDate = arg2
		endDate = arg3
		else
			initialDate = arg1
			endDate = arg2
	end
	local year,month,day = string.match(initialDate, '(%d+)-(%d+)-(%d+)')
end
return p