🧮 历法算法 · 原理解说

历法推算算法解说

四柱八字每一步是怎么算出来的?本页拆解「立春定年、节气定月、五虎遁定月、儒略日定日、五鼠遁定时」五大算法的底层原理、公式口诀、手算示例与易错点,并附权威资料链接。本页仅作传统历法文化展示,不含任何命理算命、吉凶预测内容。

① 立春定年

YEAR PILLAR · 年柱以「立春」为界

年柱的干支不是以公历 1 月 1 日或农历正月初一切换,而是以立春这一节气的精确时刻为界:立春之前仍属上一个干支年,立春当刻起才进入新干支年。

原理

干支纪年 60 年一循环。公元年份与干支年的对应可用基数换算:

干支序号 = (公元年 − 4) mod 60
天干序号 = 干支序号 mod 10(0=甲 … 9=癸)
地支序号 = 干支序号 mod 12(0=子 … 11=亥)
生肖 = 地支序号对应的十二生肖(子鼠、丑牛……亥猪)

注意:上式给出的是「干支年序号」,但某具体日期属于哪一年柱,要看它是否在当年立春之后。例如 2026 年 2 月 4 日立春(约 03:58),2 月 4 日 03:58 之前出生的人,年柱仍属 2025 乙巳年;之后才属 2026 丙午年。

手算示例

例:求 2026 年 2 月 17 日的年柱。
① 先判立春:2026 立春 ≈ 2/4 03:58,2/17 已在立春之后 → 属 2026 年干支。
② (2026 − 4) mod 60 = 2022 mod 60 = 42。
③ 天干 42 mod 10 = 2 → ;地支 42 mod 12 = 6 →
④ 结论:丙午年(午=马 → 马年)。

⚠ 易错点:公历 1 月、2 月初出生的人,绝不能简单按「年份」取年柱——必须先查当年立春精确时刻,立春前一律归上一年。

② 节气定月(月支)

MONTH BRANCH · 十二「节」定月支

月柱的地支(月支)不由公历月份决定,而是由二十四节气中的十二个「」(非「气」)划分:

原理

每个月支以对应「节」的精确时刻为起点。例如「寅月」从立春时刻开始,到惊蛰时刻结束;生在立春之前、小寒之后的人,仍属上一月支(丑月)。节气时刻由太阳视黄经推算(黄经每 15° 一个节气,误差 < 1 分钟),因此月支切换也是精确到分钟的。

月支口诀对应:寅 卯 辰 巳 午 未 申 酉 戌 亥 子 丑
= 正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 冬月 腊月

⚠ 易错点:以「节」分界,不是以「中气(气)」,也不是以农历初一或公历 1 号。很多人误把节气当作「气」来切月,导致月支差一位。

③ 五虎遁定月(月干)

MONTH STEM · 年干起月干(五虎遁)

月支定下后,月干(月柱天干)由年干依「五虎遁」口诀推出。月干随年干走,与日、时无关。

五虎遁口诀

甲己之年丙作首(寅月起丙)
乙庚之岁戊为头(寅月起戊)
丙辛必定寻庚起(寅月起庚)
丁壬壬位顺行流(寅月起壬)
戊癸之年甲好求(寅月起甲)

含义:先由年干定「寅月(正月)的天干」,之后按月支顺序(寅→卯→辰…)天干顺推(甲→乙→丙…)。

手算示例

例:2026 丙午年,求卯月(二月)月干。
① 年干 = 丙 → 依「丙辛必定寻庚起」,寅月天干 = 庚。
② 月支顺推:寅(庚)→卯(辛)→辰(壬)→…
③ 卯月天干 = → 月柱 辛卯

⚠ 易错点:月干永远由年干定(五虎遁),与日干无关;且必须从「寅月」起算,不是从正月农历月起算——若生日在立春前(丑月),要先用上一年年干遁出丑月。

④ 儒略日定日(日柱)

DAY PILLAR · 连续日数递推(儒略日)

日柱从一份已知基准日连续逐日递推得到。本工具以 2000-01-07 为甲子日 为锚点,用儒略日(Julian Day Number,连续计日数)计算任意日期距基准日的天数,再对 60 取模。

原理

设 JDN = 该日世界时正午对应的儒略日序号
干支序号 = (JDN + 49) mod 60
天干序号 = 干支序号 mod 10;地支序号 = 干支序号 mod 12
(基准 2000-01-07 为甲子日,经上式校验成立)

儒略日是天文学家使用的连续日计数(不考虑时区与历法断代),因此对跨越数千年的日期都能稳定、无误差地递推日干支。

手算思路

思路:求某日干支 = 算该日 JDN → (JDN+49) mod 60 → 拆天干地支。
日常也可:从已知甲子日(如 2000-01-07)起,每过 1 天干支序号 +1(60 一循环),顺推/逆推即可。手算易错,建议用工具校验。

⚠ 易错点:① 儒略日以世界时正午为日界,与「北京时间 0 点」不同,跨日临界点(尤其子时)要小心;② 晚子时(23:00–23:59)涉及「日柱是否换到次日」,属流派分歧(见下节)。

⑤ 五鼠遁定时(时柱)

HOUR PILLAR · 日干起时干(五鼠遁)

时柱地支 = 十二时辰(子时 23:00–1:00 起,每时辰 2 小时)。时干由日干依「五鼠遁」口诀推出。

十二时辰对照

子 23–1 丑 1–3 寅 3–5 卯 5–7 辰 7–9 巳 9–11
午 11–13 未 13–15 申 15–17 酉 17–19 戌 19–21 亥 21–23

五鼠遁口诀

甲己还加甲(子时起甲) 乙庚丙作初(子时起丙)
丙辛从戊起(子时起戊) 丁壬庚子居(子时起庚)
戊癸何方发,壬子是真途(子时起壬)

先由日干定「子时」天干,再按时辰顺序(子→丑→寅…)天干顺推。

晚子时(流派口径)

「子时」横跨 23:00–1:00,跨公历两天。本工具采用晚子时(23:00–23:59)按次日日干起子时的口径:即 23:00–23:59 出生者,其日柱先切换到次日,再用次日日干遁出时干(子时仍对应「早子时」的天干序列起点)。00:00–00:59 为早子时,用当日日干。

例:日干为甲,求 23:30(晚子时)的时柱。
① 23:30 属晚子时 → 日柱取次日日干(次日若为乙)。
② 日干乙 → 五鼠遁「乙庚丙作初」,子时天干 = 丙。
③ 时柱 = 丙子

⚠ 易错点:① 时干由日干定(五鼠遁),不是年干;② 晚子时(23–1)跨日,日柱换不换次日是流派分歧(另一派「晚子时仍用当日日干」),比较结果时务必确认口径;③ 时辰按北京时间,非地方真太阳时。

权威资料与标准

说明:本页所有算法口径与「历法工具箱」四柱计算一致;节气时刻采用天文算法(太阳视黄经,误差 < 1 分钟),农历表经全量校验。结果仅供传统历法文化学习,不作任何命理、择日、吉凶之用。