More actions
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
-- DeathMonthAgedMonthYear.lua | |||
local p = {} | local p = {} | ||
function p.formatDate( | function p.formatDate(frame) | ||
local month = frame.args[1] or 1 | |||
local year = frame.args[2] or 1970 | |||
return mw.getContentLanguage():formatDate('F Y', string.format('%d-%d', year, month)) | return mw.getContentLanguage():formatDate('F Y', string.format('%d-%d', year, month)) | ||
end | end | ||
function p.calculateAge( | function p.calculateAge(frame) | ||
local age = | local month = tonumber(frame.args[1]) or 1 | ||
if | local year = tonumber(frame.args[2]) or 1970 | ||
local currentMonth = tonumber(mw.getCurrentFrame():callParserFunction('#time', 'n')) | |||
local currentYear = tonumber(mw.getCurrentFrame():callParserFunction('#time', 'Y')) | |||
local age = currentYear - year | |||
if currentMonth < month 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 age = p.calculateAge(frame) | |||
local date = p.formatDate( | |||
local age = p.calculateAge( | |||
return string.format('%s (aged %d)', date, age) | return string.format('%s (aged %d)', date, age) | ||
end | end | ||
return p | return p |