Modul:Fødselsår fra alder
Udseende
Modul som finder mulige fødselsår og mulige aldre for en person hvis alder kendes på et bestemt tidspunkt. Modulet bruges af {{Fødselsår fra alder}}
Brug
[rediger kildetekst]{{#invoke:Fødselsår fra alder|entry}}
local p = {}
require('Modul:No globals')
function p.entry(frame)
local args = (frame == mw.getCurrentFrame()) and frame:getParent().args or frame.args
local alder = tonumber(args[1])
local aar = tonumber(args[2])
local maaned = tonumber(args[3])
local dag = tonumber(args[4])
if not alder or not aar then return 'Alder og årstal ikke angivet' end
local now = os.date('*t')
local foedt_aar = '[[' .. aar - alder - 1 .. ']] eller [[' .. aar - alder .. ']]'
local alder_nu = alder + (now.year - aar) -- alder på samme dato i nuværende år som datoen i kildens år
if dag then
if now.month > maaned or (now.month == maaned and now.day > dag) then
-- senere på året end kildedatoen
return foedt_aar .. ' (' .. alder_nu .. '-' .. alder_nu + 1 .. ' år)'
elseif now.month < maaned or (now.month == maaned and now.day < dag) then
-- tidligere på året end kildedatoen
return foedt_aar .. ' (' .. alder_nu - 1 .. '-' .. alder_nu .. ' år)'
else
return foedt_aar .. ' (' .. alder_nu .. ' år)'
end
elseif maaned then
if now.month > maaned then
-- senere på året end kildedatoen
return foedt_aar .. ' (' .. alder_nu .. '-' .. alder_nu + 1 .. ' år)'
elseif now.month < maaned then
-- tidligere på året end kildedatoen
return foedt_aar .. ' (' .. alder_nu - 1 .. '- ' .. alder_nu .. ' år)'
else
return foedt_aar .. ' (' .. alder_nu - 1 .. '- ' .. alder_nu + 1 .. ' år)'
end
else
return foedt_aar .. ' (' .. alder_nu - 1 .. '- ' .. alder_nu + 1 .. ' år)'
end
end
return p