Jump to content

Module:Sandbox/CAS222222221

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 風中的刀劍 (talk | contribs) at 12:57, 10 September 2015. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

require('Module:No globals')
local getArgs = require('Module:Arguments').getArgs
local p = {}

local function dateCov(inp)
	local months = {'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'}
	
	for i, v in ipairs(months) do
		if string.find(inp, '^(%a+ %d%d?, %d%d%d%d)(.*)$') then else break end
		local pattern = '^(' .. v .. ' %d%d?, %d%d%d%d)(.*)$'
		if string.find(inp, pattern) then
			local _, _, a, b = string.find(inp, pattern)
			return mw.language.new('zh'):formatDate('Y年Mj日', a, nil) .. b
		end
	end

	for i, v in ipairs(months) do
		if string.find(inp, '^(%d%d? %a+ %d%d%d%d)(.*)$') then else break end
		local pattern = '^(%d%d? ' .. v .. ' %d%d%d%d)(.*)$'
		if string.find(inp, pattern) then
			local _, _, a, b = string.find(inp, pattern)
			return mw.language.new('zh'):formatDate('Y年Mj日', a, nil) .. b
		end
	end

	if string.find(inp, '^(%d%d%d%d\-%d%d?\-%d%d?)(.*)$') then
		local _, _, a, b = string.find(inp, '(%d%d%d%d\-%d%d?\-%d%d?)(.*)')
		return mw.language.new('zh'):formatDate('Y年Mj日', a, nil) .. b
	end
	
	for i, v in ipairs(months) do
		if string.find(inp, '^(%a+ %d%d%d%d)(.*)$') then else break end
		local pattern = '^(' .. v .. ' %d%d%d%d)(.*)$'
		if string.find(inp, pattern) then
			local _, _, a, b = string.find(inp, pattern)
			return mw.language.new('zh'):formatDate('Y年M', a, nil) .. b
		end
	end

	if string.find(inp, '^(%d%d%d%d\-%d%d?)(.*)$') then
		local _, _, a, b = string.find(inp, '(%d%d%d%d\-%d%d?)(.*)')
		return mw.language.new('zh'):formatDate('Y年M', a, nil) .. b
	end

end

function p.main(frame)
	local args = getArgs(frame)
	return p._main(args)
end

function p._main(args)
	-- Main module code goes here.
	return dateCov(args[1])
end

return p