校时报告
你的命盘可能算错了半小时
1982 年以前在马来西亚半岛或新加坡出生的人,约 24.9% 的命宫主星是错的。原因不是算法,是时区。
自己验证,两分钟
拿这个例子:1975 年 6 月 15 日早上 8 点,出生于吉隆坡。
正确
07:16
辰时 · 天同天梁
多数排盘工具
06:46
卯时 · 武曲七杀
把同样的生辰输入你平常用的排盘工具。如果它给出 06:46 卯时,它假设了马来西亚在 1981 年之后才开始使用的时区。
打开这张命盘为什么会错
真太阳时的计算需要出生地经度,以及出生当年实际使用的时区。第二项是几乎所有工具漏掉的:它们直接套用今天的 UTC+8。
| 生效日期 | 时区 | 事件 |
|---|---|---|
| 1933-01-01 | UTC+7:20 | 半岛标准时 |
| 1941-09-01 | UTC+7:30 | 向 +8 靠拢 |
| 1942-02-16 | UTC+9:00 | 日据时期(东京时间) |
| 1945-09-12 | UTC+7:30 | 战后恢复 |
| 1982-01-01 | UTC+8:00 | 现行时区 |
砂拉越与沙巴不同:Asia/Kuching 早在 1933 年就用 UTC+8,比半岛早了半个世纪。把东马当成半岛处理,同样会错半小时。
影响有多大
一个时辰是两小时。差半小时,很多人就跨过了时辰的边界——换了时辰,命宫就换了宫位,主星也跟着变。
| 出生年份 | 当年时区 | 时辰算错 | 命宫主星算错 |
|---|---|---|---|
| 1946–1981 | UTC+7:30 | 26.0 ±1.4% | 24.9 ±1.3% |
| 1942–1945 | UTC+9 | 45.8 ±1.5% | 43.5 ±1.5% |
| 1982–2010 | UTC+8 | 0.0 ±0% | 0.0 ±0% |
吉隆坡,每组随机抽样 4000 个出生时刻,95% 置信区间。1982 年以后出生完全不受影响——这正是问题只出在历史时区、而非算法本身的证明。
更多例子
| 出生 | 地点 | 当年时区 | 正确 | 多数工具 | |
|---|---|---|---|---|---|
| 1955-03-08 07:30 | 吉隆坡 | UTC+7.50 | 06:35 卯 | 06:05 卯 | 相同 |
| 1963-11-22 09:00 | 乔治市 | UTC+7.50 | 08:24 辰 | 07:54 辰 | 相同 |
| 1971-07-14 19:20 | 新山 | UTC+7.50 | 18:39 酉 | 18:09 酉 | 相同 |
| 1975-06-15 08:00 | 吉隆坡 | UTC+7.50 | 07:16 辰 | 06:46 卯 | 时辰不同 |
| 1978-01-30 11:45 | 新加坡 | UTC+7.50 | 10:57 巳 | 10:27 巳 | 相同 |
| 1980-02-29 15:40 | 怡保 | UTC+7.50 | 14:41 未 | 14:11 未 | 相同 |
| 1981-12-31 23:15 | 吉隆坡 | UTC+7.50 | 22:28 亥 | 21:58 亥 | 相同 |
| 1988-05-05 08:00 | 吉隆坡 | UTC+8.00 | 06:50 卯 | 06:50 卯 | 相同 |
怎么修
一行。标准子午线要从出生当天实际生效的时区推出来,而不是套用今天的。IANA 时区数据库已经记录了每一次变更。
const off = offsetAt(tz, instant); // 出生当刻实际时区
const meridian = off / 4; // 不是写死的 120
const delta = (longitude - meridian) * 4 + equationOfTime(y, m, d);
数据来源: IANA tz database, Mok Ly Yng (2003), NUS. 本页数据生成于 2026-08-29.
排一张算得对的命盘。
免费排盘