モジュール:ShowDate

モジュールの解説[作成]
p = {};

p.ja = function(frame)
	local args = frame.args
	local date_string = ''
	local y = nil
	local m = nil
	local d = nil
	local err = nil
	
	if string.match(args[1], '^%d%d%d%d?$') then
    	-- yyyy
    	y = string.match(args[1], '^%d%d%d%d?$')
	elseif string.match(args[1], '^(%d%d%d%d?)-(%d%d?)$') then
    	-- yyyy-m, yyyy-mm
		-- 他に方法ないのか調べること
		y,m = string.match(args[1], '^(%d%d%d%d?)-(%d%d?)$')
		m = string.gsub(m, '^0(%d)', "%1")
    	if tonumber(m) < 1 or tonumber(m) > 12 then
        	err = "「月」が範囲外"
    	end
	end
	
	if err then
		date_string = string.format("parse error: %s", err)
	elseif m then
		date_string = string.format("%d年%d月", y, m)
	else
		date_string = string.format("%d年", y)
	end
	
	return date_string
end

return p