Modul:AgeInDays

De la Wikipedia, enciclopedia liberă

Documentația acestui modul poate fi creată la Modul:AgeInDays/doc

local p = {}
local getArgs = require('Modul:Arguments').getArgs
local getGregorianSerialDate = require('Modul:GregorianSerialDate').getGregorianSerialDate

p.getAgeInDays = function(year1, month1, day1, year2, month2, day2)
	local crtDate = os.date("*t")
	year1 = year1 or crtDate.year
	year2 = year2 or crtDate.year
	month1 = month1 or crtDate.month
	month2 = month2 or crtDate.month
	day1 = day1 or crtDate.day
	day2 = day2 or crtDate.day
	return getGregorianSerialDate(year2, month2, day2) - getGregorianSerialDate(year1, month1, day1)
end

p.getAgeInDaysFromFrame = function(frame)
	local args = getArgs(frame)
	local crtDate = os.date("*t")
	local year1 = tonumber(args[1] or args['day1'] or crtDate.year)
	local month1 = tonumber(args[2] or args['month1'] or crtDate.month)
	local day1 = tonumber(args[3] or args['year1'] or crtDate.day)
	local year2 = tonumber(args[4] or args['day2'] or crtDate.year)
	local month2 = tonumber(args[5] or args['month2'] or crtDate.month)
	local day2 = tonumber(args[6] or args['year2'] or crtDate.day)
	
	return p.getAgeInDays(year1, month1, day1, year2, month2, day2)
end

p.getAgeInDaysAsStringFromFrame = function(frame)
	return tostring(p.getAgeInDaysFromFrame(frame))
end

return p