命盘

校时报告

你的命盘可能算错了半小时

1982 年以前在马来西亚半岛或新加坡出生的人,约 24.9% 的命宫主星是错的。原因不是算法,是时区。

自己验证,两分钟

拿这个例子:1975 年 6 月 15 日早上 8 点,出生于吉隆坡。

正确

07:16

辰时 · 天同天梁

多数排盘工具

06:46

卯时 · 武曲七杀

把同样的生辰输入你平常用的排盘工具。如果它给出 06:46 卯时,它假设了马来西亚在 1981 年之后才开始使用的时区。

打开这张命盘

为什么会错

真太阳时的计算需要出生地经度,以及出生当年实际使用的时区。第二项是几乎所有工具漏掉的:它们直接套用今天的 UTC+8。

生效日期时区事件
1933-01-01UTC+7:20半岛标准时
1941-09-01UTC+7:30向 +8 靠拢
1942-02-16UTC+9:00日据时期(东京时间)
1945-09-12UTC+7:30战后恢复
1982-01-01UTC+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.

排一张算得对的命盘。

免费排盘