Modul:Homokozó/Winston/HELYIHÉTÉV

Homokozó/Winston/HELYIHÉTÉV[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

local p = {}
local lang = mw.getContentLanguage();
 
function p.f(frame)
    parent = frame:getParent();
    args = parent.args;
    addweeks = args[1];
 
    addweeks = tonumber(addweeks);
    if (nil == addweeks) then
        addweeks = 0
    end
    
    week = lang:formatDate('W', "+"..addweeks.." weeks", true);
    
    if (1 == week) then
        month = lang:formatDate('n', "+"..addweeks.." weeks", true);
        if (12 == month) then
            return tonumber(lang:formatDate('Y', "+"..addweeks.." weeks", true)) + 1;
        else
            return tonumber(lang:formatDate('Y', "+"..addweeks.." weeks", true));
        end
    elseif (52 == week or 53 == week) then
        month = lang:formatDate('n', "+"..addweeks.." weeks", true);
        if (12 == month) then
            return tonumber(lang:formatDate('Y', "+"..addweeks.." weeks", true)) - 1;
        else
            return tonumber(lang:formatDate('Y', "+"..addweeks.." weeks", true));
        end
    else
        return tonumber(lang:formatDate('Y', "+"..addweeks.." weeks", true));
    end
    return week;
end
 
return p;