Модуль:Участник:Grebenkov/Sandbox
Перейти к навигации
Перейти к поиску
Документация
local p = {}
function parseISO8601Date(str)
local pattern = "(%-?%d+)%-?(%d*)%-?(%d*)"
local Y, M, D = mw.ustring.match( str, pattern )
return tonumber(Y), tonumber(M), tonumber(D)
end
function p.parseISO8601(str)
local ru = mw.getLanguage('ru');
if 'table'==type(str) then
if str.args and str.args[1] then
str = '' .. str.args[1]
else
return 'unknown argument type: ' .. type( str ) .. ': ' .. table.tostring( str )
end
end
local Y,M,D = parseISO8601Date(str)
if Y ~= nil and M ~= nil and D ~= nil then
return ru:formatDate('d xg Y', str)
elseif Y ~= nil and M == nil and D == nil then
return ru:formatDate('Y', str)
elseif Y ~= nil and M ~= nil and D == nil then
return ru:formatDate('F Y', str)
else
return "Wrong date format"
end
end
return p