跳转至

中国历史工具集

把任意年份对应到中国朝代 / 年号 / 历史时期, 反向亦可。基于上海图书馆开放数据平台, 数据清洗过程透明可审计 —— 每一处改动都能追溯到上图原始 URI。

你能用它做什么

  • 🏛️ 双向查询 —— 名称 → 起止年份; 年份 → 多个并行政权列表
  • 🪨 完整时间线 —— 旧石器 / 新石器 史前段一直到清
  • 📚 数据源可选 —— 上古纪年是真实的学术分歧, 由你选择信任哪个
  • 🧭 同名消歧 —— 重名政权各归其位(夏(窦建德) ≠ 上古 ); 年号有歧义时报错而非瞎猜
  • 🌐 支持别名 —— 传入 aliases 表后, Neolithic / Kangxi / Tang 等也能解析

两分钟上手

import chhiskit

# 名称 → 年份
chhiskit.get_age_from_cultural_period("康熙", level="period")
# → (1662.0, 1722.0)

chhiskit.get_age_from_cultural_period("唐", level="dynasty")
# → (618.0, 907.0)

chhiskit.get_age_from_cultural_period("新石器", level="epoch")
# → (-10000.0, -2070.0)

# 年份 → 所有匹配的政权(三国 / 隋末等会有多个并行)
[m.dynasty_id for m in chhiskit.get_cultural_periods_from_year(250)]
# → ['三国', '吴', '蜀', '魏']

[m.dynasty_id for m in chhiskit.get_cultural_periods_from_year(619)]
# → ['唐', '夏(窦建德)', '梁', '楚', ...]   # 隋末群雄并起

# BP 纪年(碳十四惯例, 1950 为参考点)
chhiskit.get_age_from_cultural_period("商", level="dynasty", anno_domini=False)
# → (3550.0, 2996.0)   # BP 模式下 begin 较老在前

# 外文别名
chhiskit.get_age_from_cultural_period(
    "Neolithic", level="epoch",
    aliases={"新石器": {"Neolithic", "Neo"}},
)
# → (-10000.0, -2070.0)

下一步

数据来源

来源 用于
上海图书馆开放数据平台 底表 —— 朝代 / 年号 / 帝王
夏商周断代工程 (2000) 上古纪年(source="xsz", 默认)
万国鼎《中国历史纪年表》(中华书局, 1956) 国号 / 朝代起讫(source="wgd"

数据随包分发 —— 运行时不需要联网。