首页 技术原理解析内容详情

老黄历的宜忌是怎么来的?一套历法规则拆解

2026-11-03 1 zhuadmin

上个月接了个私活,客户要做个黄历小程序,宜忌数据让我自己想办法。我第一反应:这不就是个日历 API 的事儿?

结果扒了三个版本的黄历,同一天,一个写“宜嫁娶”,一个写“忌嫁娶”。客户截图过来问我哪个是对的,我当场沉默。

那一刻我意识到,这玩意不是随机数生成器,真把它当玄学糊弄过去,这钱我不敢收。于是啃了一周《协纪辨方书》,把宜忌的生成逻辑拆了个底朝天。

核心要点

  • 老黄历宜忌不是随机数,是“干支历 + 建除十二神 + 神煞系统”三层规则推演的确定性输出。
  • 建除十二神:十二个值日神按地支顺序轮班,每天一位,“月破日”就是这么轮出来的。
  • 宜忌条目本质是匹配表:当天值哪些神煞 → 神煞绑定事件清单 → 合并输出“宜 X 忌 Y”。
  • 黄道吉日不是修辞,是黑黄道十二神里六个吉神值班的那些天。
  • 时辰吉凶由日支与时支的刑冲合害决定,粒度切到小时级。
  • 拆完你会发现这是套逻辑自洽的规则引擎,信不信另说,但它真的不玄学。

一、底层依赖:干支历是整套系统的操作系统

先甩一个硬核事实:干支纪日从春秋时期到现在,连续跑了 2700 多年,一天没断过。 一个公元前就开始计数的计数器,历经几十个王朝、无数次历法改版,愣是没重启过。

老黄历所有宜忌都跑在这个“系统”上:年、月、日、时各配一组天干地支。八个字排出来,就是这天的唯一指纹。

月支不按农历初一走,按节气走。 这是新手最容易踩的坑——立春才换寅月,不是正月初一,你拿农历日期对黄历,永远差着几天。

为什么这么设计?因为农历是阴阳合历,月相管“月”,节气管“农时”,两套时钟并行。宜忌取的是节气这套,跟太阳实际位置挂钩。

二、建除十二神:宜忌的第一层规则引擎

十二神的名字先摆出来:建、除、满、平、定、执、破、危、成、收、开、闭。 就是个值班表,十二个值日神轮班,一天一位。

轮值规则一句话说清:月支与日支相同的那天定为“建日”,之后顺着地支往下排。 正月建寅,则寅日为建、卯日为除、辰日为满,一路排到丑日闭日。

那问题来了:十二天一轮,但两个节气之间隔了三十天半,多出来的天数怎么办?

逢“节”那天,硬重复前一天的值神一次。 对,就是重复一遍,强行对齐周期差。像不像你处理脏数据时打的补丁?古人没发明取模之外的算法,就用笨办法抹平了。

黄历上最凶的破日怎么来的?与月支相冲的那个日支,就是“月破”。 寅月遇申日,申冲寅,大事勿用——不是谁心情不好,是地支对冲的硬规则。

各值日粗略对应:建(开创)、除(除旧)、满(圆满)、平(平稳)、定(签约)、执(执行)、破(冲破,凶)、危(高危)、成(成事)、收(收尾)、开(开张)、闭(闭塞宜歇)。

三、宜忌条目怎么生成:一张巨大的神煞匹配表

这是全文最干的部分。黄历上“宜嫁娶、忌动土”这些字,来源是当天“值”了哪些神煞。

神煞分两拨:吉神如天德、月德、天赦、天医、三合、六合;凶神如月破、受死、往亡、天贼。每个神煞都绑着一张事件清单——天医宜求医问药,天赦百无禁忌,受死日诸事不宜。

生成逻辑伪代码化就四步:

1. 拿到当日干支 + 月支 + 年支;

2. 查表:今天值哪些吉神、哪些凶神;

3. 拉出各神煞绑定的事件清单,合并同类项;

4. 冲突时凶神优先裁剪,输出“宜 X 忌 Y”。

同一个日期输入,永远得到同样的宜忌输出。 这是纯函数,不是抽卡。

那市面上黄历为什么打架?流派不同——《玉匣记》、董公择日、各类民间通书,神煞取用规则有出入。等于同一个项目引了不同版本的依赖库,能不崩吗。

清朝皇室也被这事烦够了,乾隆年间敕编《协纪辨方书》,官方钦定一版规则集,收进《四库全书》。说人话:官方下场统一了 API 规范。

顺带一个有意思的规则:四离四绝。四立(立春、立夏、立秋、立冬)前一天叫“绝”,二分二至(春分、秋分、夏至、冬至)前一天叫“离”,这八天大事勿用。

理由是节气交替、气场不稳。翻译成工程师语言就是:发版窗口期,别上线。 这条我个人服气,古人至少给规则留了注释。

四、黄道吉日:不是形容词,是六个吉神在值班

“黄道吉日”听着像修辞,其实是黑黄道十二神的轮值结果。黄道六吉神:青龙、明堂、金匮、天德、玉堂、司命;黑道六凶神:天刑、朱雀、白虎、天牢、玄武、勾陈。

排法依然规则化:以日支定位青龙落点,十二神按固定顺序排满十二地支。哪天黄道六神值班,哪天就是黄道日。

老择日先生有句口诀:“道远几时通达,路遥何日还乡。” 十二个字里带走之旁的正好六个——道、远、通、达、遥、还,对应黄道六神。这是把规则塞进十二个字的记忆术,考前突击专用,跟背八股文一个性质。

黄道吉日等于万事皆宜吗?不等于。黄道神值班只说明大方向顺,具体能不能嫁娶动土,还得回第三步的匹配表里再过一遍。

五、时辰吉凶表:粒度切到小时级

黄历的输出只到“天”吗?不是,还有一层时辰吉凶,大部分人根本不知道。

时辰吉凶由日支与时支的关系决定:三合、六合为吉;相冲、相刑、相害为凶。

举例,子日:丑时六合、申时辰时三合,这几个时辰吉;午时冲子,凶。翻车风险“理论上”集中在冲刑的时辰。

所以老黄历的完整输出其实是三维的:哪天(日)→ 干什么事(事)→ 几点(时辰)。 选日子只是粗筛,选时辰才是精排。

“吉时”也别神化。它的意思只是该时辰与当日干支关系友好,在这套规则体系内成立,仅此而已。当排期参考可以,当生死判官就过了。

六、态度:民俗归民俗,决策归决策

拆到这你应该看明白了:老黄历是天文历法打底、术数规则推演、民俗语义标注的混合系统。工程上讲它逻辑自洽、输出确定;文化上讲,它是活了两千年的规则引擎。

择日这个行为求的是啥?说穿了,是消掉一块决策焦虑。婚期定了、日子“选过了”,不确定性少一块,这个心理功能是真实存在的,别管它包装成什么样。

我的态度:当文化遗产来拆解,越拆越有意思;当人生决策系统全信,等于把方向盘交出去。搬家看日子求心安,没问题;因为“诸事不宜”就不去医院,那是硬伤,赶紧醒。

真想验证这套规则的确定性?我把这套历法规则做成了在线工具,输入日期直接给出当天的干支、值神、宜忌和时辰吉凶:老黄历。数据按《协纪辨方书》的规则推演,你拿任意一天去和市面黄历对答案——对不上的地方,恰恰能看出对方用的是哪个流派。

FAQ / 常见问题

1. 为什么不同黄历 App 同一天的宜忌不一样?

不是谁错了,是流派依赖不同。神煞取用规则各派有出入,等于同一个项目引了不同版本的库。想对标准答案,认《协纪辨方书》这个官方钦定版。

2. “诸事不宜”的日子,真的啥都不能干吗?

那天通常是月破、受死等凶神当值,规则层面指“大事勿用”——签约、嫁娶、开张这类。吃饭上班看病照常,别赌运气,也别走极端。

3. 老黄历的宜忌是随机编的吗?

恰恰相反,是高度确定性的规则推演,同样输入永远同样输出。真正随机的是各出版社抄了哪一版规则,而不是规则本身。

  • 评论列表 (0条)

 暂无评论,快来抢沙发吧~

发布评论