模組:ISODate
外观
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.dates(frame)
local args = getArgs(frame)
return p._dates(args)
end
function p._dates(args)
local returnval;
args[1] = args[1]:gsub(" "," ");
local ym = false;
local yearonly = false;
local y, m, d = string.match(args[1], '^(%d+)年(%d+)月(%d+)日$');
if d == nil then
ym = true;
y, m = string.match(args[1], '^(%d+)年(%d+)月$');
end
if d == nil and m == nil then
yearonly = true;
y = string.match(args[1], '^(%d+)年$');
end
if y ~= nil then
if ym == false then
returnval = mw.getCurrentFrame():callParserFunction('#time', 'Y-m-d', y .. '-' .. m .. '-' .. d)
else
if yearonly == false then
returnval = mw.getCurrentFrame():callParserFunction('#time', 'Y-m', y .. '-' .. m)
else
returnval = y;
end
end
else
returnval = args[1];
end
return returnval;
end
return p