开放数据
中国生肖年份分界:1901 至 2100
决定出生年份属相的日期有两个:立春,以及正月初一。200 年的两个日期都在这里,要查哪一年,直接翻表。
覆盖范围
- 年份
- 1901-2100
- 行数
- 200
- 最近重建
- 2026-10-21
- 数据来源
- 香港天文台
数据读自香港天文台《公曆與農曆日期對照表》文本版,每年一个文件。天文台公布 1901 至 2100 年,本数据集覆盖同一区间,无缺口。
200 年里的极端情况
| 两个日期完全重合的年份 | 1905, 1924, 1943, 1992, 2038, 2087 |
|---|---|
| 间隔最宽 | 1985, 2053 (+16) |
| 间隔最窄 | 1966 (-14) |
下载
同一批数据两种格式。JSON 带来源说明与字段定义,CSV 是扁平表,方便用表格软件打开。
日期是怎么校验的
每一年都要先过三道独立校验,才进得了这个文件。哪一年没过,那一年就整条丢掉,不猜。
- 立春日期与正月初一日期,分别从英文表和中文表各读一遍,再要求两边完全一致。两表对不上的年份直接丢弃,不猜。
- 表头印的干支,用 (年份 - 1984) mod 60 重新推一遍,必须与表头一致。
- 结果与它取代的 1940–2030 版本做了回归比对:91 个重叠年份,零字段差异。
字段
JSON 的每一行是下面九个字段。CSV 是同样九列,干支与属相对被压成单格:庚辰、Rabbit|Dragon。
有一处限制要说明:这张表只到日。立春是一个时刻(2026 年 2 月 4 日 04:02、1987 年 2 月 3 日 23:15),出生在立春当天但早于这个时刻的人,年柱仍属上一年。表里记的是分界落在哪一天,不是一次出生落在它的哪一侧。
year | 该行所属的公历年份。 |
|---|---|
li_chun | 立春,开春的节气。ISO 日期,照表引用。 |
lunar_new_year | 正月初一。ISO 日期,照表引用。 |
gap_days | 正月初一减立春,单位为天。正数表示立春在前。 |
first_line | 哪个日期在前:li_chun、lunar_new_year 或 same_day。 |
ganzhi | 该年的干支,照表头引用。 |
animal | 立春所在行的属相,即该年在干支纪年里的属相。 |
animal_previous | 再往前一年的属相。 |
animals_between | 落在两个日期之间的生日可能同时带的两个属相。 |
抽样行
选了七行,覆盖两种先后顺序和同一天的情况。
| 年份 | 立春 | 正月初一 | 相隔(天) | 属相 |
|---|---|---|---|---|
| 1901 | 1901-02-04 | 1901-02-19 | +15 | Rat / Ox |
| 1912 | 1912-02-05 | 1912-02-18 | +13 | Pig / Rat |
| 1943 | 1943-02-05 | 1943-02-05 | 0 | Horse / Goat |
| 1984 | 1984-02-04 | 1984-02-02 | -2 | Pig / Rat |
| 1992 | 1992-02-04 | 1992-02-04 | 0 | Goat / Monkey |
| 2026 | 2026-02-04 | 2026-02-17 | +13 | Snake / Horse |
| 2100 | 2100-02-04 | 2100-02-09 | +5 | Goat / Monkey |
引用方式
不需要授权。按下面的格式引用,或直接链到 JSON。
GPTbazi《中国生肖年份分界 1901–2100》,据香港天文台《公曆與農曆日期對照表》整理。https://gptbazi.com/zodiac-dates
JSON 自带来源、字段定义与覆盖说明,脚本可以直接取用并署名,不需要读这一页。
你已经知道自己的生日。 这就够了。
读我的命盘 免费排盘 · 可问紫衡 3 次