农历数据变量说明

静凇 Lv3

1. StartYear

数据起始年份(公历)

2. EndYear

数据终止年份(不包含该年)

3. PreLeapIndex

(StartYear - 1)年农历十月及以后的闰月索引,对应PreMonth中的序号,当前为-1,表示1799年农历十月以后无闰月。

4. PreMonth

(StartYear - 1) 年农历十月及以后的月份,每月初一在 StartYear 年的年内序数。PreMonth中分别对应农历的十月、十一月、十二月、正月。

5. MonthInfo

农历月份信息,一年用4个字节表示。数据长度为 (EndYear - StartYear)

第31位第30-27位第26-23位第22-17位第16-13位第12-0位
保留元旦天干序数元旦地支序数农历正月初一的年内序数闰月一个比特对应一个月份大小

月份大小数据是月份小的在低位, 月份大的在高,即正月在最低位。 以1900年为例,4个字节的数据展开成二进制位:

00000101001111010001 0 1 1 0 1 1 0 1 0 0 1 0
保留0(甲)10(戌)30 (1月31日)闰八月从左往右依次为腊月, 冬月…闰八月, 八月, … , 正月的天数。

P.S. 农历月份对应的位为0, 表示这个月为29天(小月), 为1表示有30天(大月).

6. SolarTermsSource & SolarTermsIndex

二十四节气信息, 节气数据将由 SolarTermsSourceSolarTermsIndex 中的数据生成。

一年用6个字节表示,每个节气使用两比特数据。

第一字节最高两位第一字节其余6位至第六字节共46个位
小寒的年内序数减3每个节气距离上一节气的天数, 共23组

小寒的年内序数已给出,剩下的23个节气分别对应这23组数据, 有以下含义:

二进制位意义描述
0014天当前对应的节气距离上一节气为14天
0115天当前对应的节气距离上一节气为15天
1016天当前对应的节气距离上一节气为16天
1117天当前对应的节气距离上一节气为17天

由上表可以看出,除小寒以外的其余23个节气的两比特数据加上14就是距离上一节气的天数。 节气顺序:

节气中气节气中气节气中气节气中气节气中气节气中气
小寒大寒立春雨水惊蛰春分清明谷雨立夏小满芒种夏至
小暑大暑立秋处暑白露秋分寒露霜降立冬小雪大雪冬至

7. PreDongzhiOrder

(StartYear - 1) 年冬至日在StartYear年的年内序数, 这个数据将被用在 StartYear数九的计算上.

8. ExtremeSeason

每年数九、入梅、出梅及三伏的信息,一年用两个字节表示。

第15-11位第10-6位第5-1位最末位
入梅出梅初伏末伏
  1. 一九 即是冬至, 往后到 九九 的每个 相差 9 天, 可顺利推算出来, 故 数九 信息省略。
  2. 初伏 信息:该天数加上 180 为初伏这一日的年内序数。
  3. 中伏 信息:"三伏" 天的 "中伏""初伏"10 天,而 "末伏""中伏"10 天或 20 天,因此 "中伏" 信息省略。
  4. 末伏 信息:若该位为 1,表示末伏距离初伏 30 天,为 0 表示末伏距离初伏 20 天。
  5. 入梅 信息:该天数加上 150 为入梅这一日的年内序数。
  6. 出梅 信息:该天数加上 180 为出梅这一日的年内序数。

1. StartYear

数据起始年份(公历)

2. EndYear

数据终止年份(不包含该年)

3. PreLeapIndex

(StartYear - 1)年农历十月及以后的闰月索引,对应PreMonth中的序号,当前为-1,表示1799年农历十月以后无闰月。

4. PreMonth

(StartYear - 1) 年农历十月及以后的月份,每月初一在 StartYear 年的年内序数。PreMonth中分别对应农历的十月、十一月、十二月、正月。

5. MonthInfo

农历月份信息,一年用4个字节表示。数据长度为 (EndYear - StartYear)

第31位第30-27位第26-23位第22-17位第16-13位第12-0位
保留元旦天干序数元旦地支序数农历正月初一的年内序数闰月一个比特对应一个月份大小

月份大小数据是月份小的在低位, 月份大的在高,即正月在最低位。 以1900年为例,4个字节的数据展开成二进制位:

第31位第30-27位第26-23位第22-17位第16-13位第12-0位
保留元旦天干序数元旦地支序数农历正月初一的年内序数闰月一个比特对应一个月份大小

6. SolarTermsSource & SolarTermsIndex

二十四节气信息, 节气数据将由 SolarTermsSourceSolarTermsIndex 中的数据生成。

一年用6个字节表示,每个节气使用两比特数据。

第一字节最高两位第一字节其余6位至第六字节共46个位
小寒的年内序数减3每个节气距离上一节气的天数, 共23组

小寒的年内序数已给出,剩下的23个节气分别对应这23组数据, 有以下含义:

二进制位意义描述
0014天当前对应的节气距离上一节气为14天
0115天当前对应的节气距离上一节气为15天
1016天当前对应的节气距离上一节气为16天
1117天当前对应的节气距离上一节气为17天

由上表可以看出,除小寒以外的其余23个节气的两比特数据加上14就是距离上一节气的天数。下表为节气顺序:

节气中气节气中气节气中气节气中气节气中气节气中气
小寒大寒立春雨水惊蛰春分清明谷雨立夏小满芒种夏至
小暑大暑立秋处暑白露秋分寒露霜降立冬小雪大雪冬至

7. PreDongzhiOrder

(StartYear - 1) 年冬至日在StartYear年的年内序数, 这个数据将被用在 StartYear数九的计算上.

8. ExtremeSeason

每年数九、入梅、出梅及三伏的信息,一年用两个字节表示。

第15-11位第10-6位第5-1位最末位
入梅出梅初伏末伏
  1. 一九 即是冬至, 往后到 九九 的每个 相差 9 天, 可顺利推算出来, 故 数九 信息省略。
  2. 初伏 信息:该天数加上 180 为初伏这一日的年内序数。
  3. 中伏 信息:"三伏" 天的 "中伏""初伏"10 天,而 "末伏""中伏"10 天或 20 天,因此 "中伏" 信息省略。
  4. 末伏 信息:若该位为 1,表示末伏距离初伏 30 天,为 0 表示末伏距离初伏 20 天。
  5. 入梅 信息:该天数加上 150 为入梅这一日的年内序数。
  6. 出梅 信息:该天数加上 180 为出梅这一日的年内序数。
  • 标题: 农历数据变量说明
  • 作者: 静凇
  • 创建于 : 2024-03-25 10:16:05
  • 更新于 : 2025-04-27 23:11:36
  • 链接: https://blog.zhangyirui.cn/2024/03/25/Lunar-data-variable-description/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。