模块:年份朝代映射
来自西南古代物产
此模块的文档可以在模块:年份朝代映射/doc创建
-- Module:年份朝代映射
local p = {}
local dynastyMap = {
{start = -2070, ["end"] = -1600, name = "夏朝"},
{start = -1600, ["end"] = -1046, name = "商朝"},
{start = -1046, ["end"] = -771, name = "西周"},
{start = -770, ["end"] = -476, name = "春秋时期"},
{start = -475, ["end"] = -221, name = "战国时期"},
{start = -221, ["end"] = -207, name = "秦朝"},
{start = -202, ["end"] = 8, name = "西汉"},
{start = 9, ["end"] = 23, name = "新莽"},
{start = 25, ["end"] = 220, name = "东汉"},
{start = 220, ["end"] = 280, name = "三国时期"},
{start = 265, ["end"] = 316, name = "西晋"},
{start = 317, ["end"] = 420, name = "东晋"},
{start = 420, ["end"] = 589, name = "南北朝"},
{start = 581, ["end"] = 618, name = "隋朝"},
{start = 618, ["end"] = 907, name = "唐朝"},
{start = 907, ["end"] = 960, name = "五代十国"},
{start = 960, ["end"] = 1127, name = "北宋"},
{start = 1127, ["end"] = 1279, name = "南宋"},
{start = 1271, ["end"] = 1368, name = "元朝"},
{start = 1368, ["end"] = 1644, name = "明朝"},
{start = 1636, ["end"] = 1912, name = "清朝"},
{start = 1912, ["end"] = 1949, name = "中华民国"},
{start = 1949, ["end"] = 3000, name = "中华人民共和国"},
}
p["获取朝代信息"] = function(frame)
local year = tonumber(frame.args[1])
if not year then
return "错误:请输入有效的年份"
end
local dynasty = "未知"
for _, period in ipairs(dynastyMap) do
if year >= period.start and year <= period["end"] then
dynasty = period.name
break
end
end
local yearString
if year < 0 then
yearString = string.format("公元前%d", math.abs(year))
else
yearString = tostring(year)
end
-- 返回修改后的格式,不包括分类部分
local result = string.format("%s,%s", dynasty, yearString)
-- 返回结果,不附加任何分类信息
return result
end
return p