BaZi · Boundary Guide
晚子时换日,为什么会产生不同八字?
23:00 到 01:00 之间的出生时间,常常让两个排盘软件给出不同的日柱。真正的分歧不是“谁多算了一天”,而是双方采用了不同的换日规则。
先给结论
需要先记录原始钟表时间、时区和采用的换日口径,再比较结果。若程序在 23:00 就换日,23:30 的日柱已经是下一日;若采用子初或子正等另一种传统约定,日柱可能仍属于前一日。时柱还会受到子时范围与真太阳时修正的影响。
日柱为什么会不同?
公历日期在午夜 00:00 变化,但传统时辰把 23:00–01:00 视为子时。于是“日界”有两个容易被混在一起的概念:民用日期的午夜,以及命理算法约定的子时换日点。软件如果没有把这个设置显示出来,用户就很难判断差异来自哪里。
一个可复核的例子
固定测试输入为 1988 年 2 月 15 日 23:30、Asia/Shanghai、标准时间。命序的 sect 1 输出“戊辰年、甲寅月、辛丑日、戊子时”,sect 2 输出“戊辰年、甲寅月、庚子日、戊子时”。年柱、月柱和时柱保持不变,日柱因晚子时口径不同而改变;该结果由核心自动测试锁定。
- 保存原始输入:日期、时间、时区、经度和时间模式。
- 分别运行两种明确标记的换日口径。
- 只比较日柱、时柱以及由它们派生的十神、关系和大运。
- 在最终分析中注明采用哪套规则,不把其中一套写成唯一科学答案。
什么时候特别需要核对?
接近 23:00、00:00 或 01:00 时,分钟精度和经度修正更重要。如果出生地经度使地方平太阳时或视太阳时跨过边界,真太阳时模式可能进一步改变有效日期或时支。距离边界很远时,多个时间口径往往会得到相同四柱。
命序如何记录这个问题?
命序保留标准时间、地方平太阳时和视太阳时的有效时间,显示修正分钟数、是否跨时辰/跨日期,以及采用的换日配置。这样 AI 看到的是带上下文的结构化事实,而不是一个没有来源的四柱字符串。
算法与资料来源
- 命序晚子时 golden fixtures:两种 sect 的精确四柱。
- lunar-javascript:底层历法与八字排盘实现。