More actions
(Created page with "-- DeathAgeDayMonthYear.lua local p = {} function p.formatDate(frame) local day = frame.args[1] or 1 local month = frame.args[2] or 1 local year = frame.args[3] or 1970 return mw.getContentLanguage():formatDate('j F Y', string.format('%d-%d-%d', year, month, day)) end function p.calculateAge(frame) local day = tonumber(frame.args[1]) or 1 local month = tonumber(frame.args[2]) or 1 local year = tonumber(frame.args[3]) or 1970 local curr...") |
No edit summary |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
function p.formatDate(frame) | function p.formatDate(frame) | ||
local day = frame.args[1] or 1 | local day = frame.args[1] or 1 | ||
Line 9: | Line 6: | ||
return mw.getContentLanguage():formatDate('j F Y', string.format('%d-%d-%d', year, month, day)) | return mw.getContentLanguage():formatDate('j F Y', string.format('%d-%d-%d', year, month, day)) | ||
end | end | ||
function p.calculateAge(frame) | function p.calculateAge(frame) | ||
local day = tonumber(frame.args[1]) or 1 | local day = tonumber(frame.args[1]) or 1 | ||
local month = tonumber(frame.args[2]) or 1 | local month = tonumber(frame.args[2]) or 1 | ||
local year = tonumber(frame.args[3]) or 1970 | local year = tonumber(frame.args[3]) or 1970 | ||
local currentDay = tonumber(mw.getCurrentFrame():callParserFunction('#time', 'j')) | local currentDay = tonumber(mw.getCurrentFrame():callParserFunction('#time', 'j')) | ||
local currentMonth = tonumber(mw.getCurrentFrame():callParserFunction('#time', 'n')) | local currentMonth = tonumber(mw.getCurrentFrame():callParserFunction('#time', 'n')) | ||
local currentYear = tonumber(mw.getCurrentFrame():callParserFunction('#time', 'Y')) | local currentYear = tonumber(mw.getCurrentFrame():callParserFunction('#time', 'Y')) | ||
local age = currentYear - year | local age = currentYear - year | ||
if (currentMonth < month) or (currentMonth == month and currentDay < day) then | if (currentMonth < month) or (currentMonth == month and currentDay < day) then | ||
age = age - 1 | age = age - 1 | ||
end | end | ||
return age | return age | ||
end | end | ||
function p.displayDateWithAge(frame) | function p.displayDateWithAge(frame) | ||
local date = p.formatDate(frame) | local date = p.formatDate(frame) | ||
Line 32: | Line 24: | ||
return string.format('%s (aged %d)', date, age) | return string.format('%s (aged %d)', date, age) | ||
end | end | ||
return p | return p |