Endless狼人殺曆法工具立即開玩

干支與黃曆:六十進位的時間指紋

你手機上的日期是用過即丟的流水號,但有一套系統替每一天蓋上獨一無二的印章,而且從商代一路蓋到今天、近三千年沒有斷過。它叫干支——十天干配十二地支的六十進位循環,既是世界最長的連續計日系統,也是八字與黃曆背後那台安靜運轉的數學機器。這篇文章拆給你看:它為什麼是 60 不是 120、憑什麼三千年不斷線、宜忌從哪來,以及我們如何用一行公式把它全部算出來。

為什麼是六十,而不是一百二十?

干支系統的原料很簡單:十個天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)和十二個地支(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)。直覺上 10×12 應該有 120 種組合,但實際只有 60 個——因為天干地支不是自由配對,而是兩個齒輪同步轉動:天干輪每天前進一格,地支輪也前進一格,各轉各的、永不脫鉤。甲子之後是乙丑、丙寅,走到癸酉時天干用完歸位、地支繼續,接著是甲戌、乙亥……兩個輪子要同時回到起點,得走完 10 和 12 的最小公倍數——正好 60 步。

這個機制有個漂亮的副作用:陽干永遠只會配上陽支、陰干只配陰支。所以「甲子」存在,「甲丑」在這個系統裡根本不可能出現。這 60 個組合就是著名的「六十甲子」,古人拿它當通用的循環座標——紀年、紀月、紀日、紀時,全用同一套。

順帶一提,巴比倫人也愛 60(角度和分秒的六十進位就是他們的遺產),但兩者純屬巧合、各自獨立發展:巴比倫選 60 是因為它因數多、好分割;干支的 60 則是 10 與 12 兩個週期咬合出來的最小公倍數。同一個數字,兩條完全不同的路。

世界最長的連續計日:從甲骨文數到你的手機

干支最了不起的成就不是紀年,而是紀日。商代甲骨文裡已大量使用干支記錄日期,甚至出土過刻著完整六十甲子表的習刻甲骨——等於三千多年前的萬年曆對照表。從那時起,干支紀日一天接一天往下數,跨越商周秦漢、唐宋元明清;改朝換代、曆法改革(從古六曆到太初曆再到時憲曆)都沒有讓它重置過。今天是什麼干支日,是從商代那條線一路不間斷數下來的結果——這是人類歷史上最長的連續計日系統。

「連續」不是隨口說說,是可以驗證的。《春秋》記載魯隱公三年「二月己巳,日有食之」,現代天文學回推西元前 720 年 2 月 22 日確實發生日食,而那天的干支正是己巳。這類天象紀錄就是時間軸上的鉚釘:日食騙不了人,干支對上了,就證明從春秋到今天這兩千七百多年間,計日從未斷線、從未錯位。

這也讓干支成為史學家的校勘利器。每個日期自帶一枚「指紋」:史書上記的日干支若跟該月朔日推不攏,那條記載就有問題——不是抄錯就是造假。陳垣編《二十史朔閏表》,做的正是拿干支當檢查碼、替二十四史的日期做體檢。一套三千年前的計日習慣,最後變成辨別史料真偽的數學工具,大概是商代貞人始料未及的。

該誠實的地方誠實說:嚴格可逐日驗證的連續段是從春秋算起。商代甲骨的干支紀日確鑿無疑,但商末到春秋之間每一天都無中斷,是學界基於證據鏈的合理推斷,而非逐日可查。即便只算保守的兩千七百年,這個紀錄仍然無人能敵。

歲在甲子:把干支寫進歷史的那些年

六十年一輪迴,讓每個干支年自帶命運感——尤其是循環之首的甲子年。西元 184 年正是甲子年,太平道領袖張角喊出「蒼天已死,黃天當立,歲在甲子,天下大吉」,發動黃巾之亂,掀開三國時代的序幕。口號押在「甲子」上不是巧合:一輪甲子的起點,就是宣告「天命重新開機」的最佳時點。

這個習慣延續了兩千年,中文世界的重大歷史事件很多直接以干支命名:甲午戰爭(1894)、戊戌變法(1898)、庚子拳亂(1900)、辛亥革命(1911)。知道換算公式後你可以自己驗算:把西元年減 4,除以 10 的餘數給天干、除以 12 的餘數給地支。1894 減 4 得 1890,除 10 餘 0 是甲、除 12 餘 6 是午——甲午,一秒對上。

不過得標註兩處爭議。第一,用干支「紀年」其實比紀日晚得多:西漢以前主流是歲星、太歲紀年(與木星約十二年繞天一周有關),干支紀年要到東漢才真正通行,一般認為西元 85 年朝廷頒令後才制度化。所以「西元前某年是某某年」的干支標籤,是後人往回追貼的,當時人未必這樣叫。第二,干支年該從哪一天換?民間曆書多用正月初一,命理界論八字則堅持用立春——同一個一月底出生的人,兩派會給出不同的年柱。這不是誰算錯,是換界定義本來就有兩套。

八字四柱:五虎遁與五鼠遁的模運算

把年、月、日、時各配一組干支就是四柱,共八個字——「八字」的字面意思就這麼直白。年柱和日柱前面說過怎麼來;有趣的是月柱和時柱:它們不必另外查表,古人發明了兩句口訣,本質上是純粹的模運算。

月柱的地支是固定的:正月永遠建寅、二月建卯,依序排下去,所以只剩月干需要決定。「五虎遁」說的是:年干是甲或己,正月從丙寅起;乙或庚起戊寅;丙辛起庚寅;丁壬起壬寅;戊癸起甲寅。為什麼叫五虎?因為正月建寅、寅屬虎,而十個年干兩兩一組共五種情形。用數學說就是:正月月干=(年干序號 × 2 + 2)mod 10,之後逐月加一。十二個月配六十組干支,月柱每五年整整一輪,嚴絲合縫。

時柱同理。一天十二時辰、子時起頭(子屬鼠,故稱「五鼠遁」),時支固定,時干由日干決定:甲己日的子時起甲子、乙庚日起丙子、丙辛起戊子、丁壬起庚子、戊癸起壬子——公式是子時時干=(日干序號 × 2)mod 10。十二時辰配六十干支,時柱每五天一輪。兩句口訣背後,是同一套齒輪數學在不同尺度上重複運轉:年、月、日、時四個輪子,全部咬合在 60 這個數字上。

黃曆的宜忌機器:建除、二十八宿、彭祖百忌

翻開黃曆,每天除了干支還印著「宜嫁娶、忌動土」之類的指示。這些宜忌看似玄奧,底層其實是幾套規則明確的循環系統疊在一起。最古老的一層是「建除十二神」:建、除、滿、平、定、執、破、危、成、收、開、閉十二個字輪流值日。規則很機械——當月月建的地支(正月建寅)遇上同支之日就是「建」日,之後逐日順排;建日宜出行、破日諸事不宜,每個神各管一組吉凶。

第二層是二十八宿紀日:把黃道附近的二十八個星宿(角、亢、氐、房……)依序派給每一天,28 天一輪,各宿各有宜忌。第三層是彭祖百忌:托名長壽仙人彭祖的 22 條禁忌口訣,十天干、十二地支各配一句,例如「甲不開倉」「丁不剃頭」「巳不遠行」「亥不嫁娶」。當天日柱是丁巳?那就既不宜剃頭、也不宜遠行。

很多人以為這套東西是明清術士的發明,其實年代早得驚人:西漢《淮南子・天文訓》已完整記載建除十二神,比清乾隆年間官修的《協紀辨方書》(1739 年)早了約一千九百年。換句話說,張角喊「歲在甲子」的時候,建除系統已經流行三百年了。

該誠實的地方:宜忌是文化史料,不是科學預測——沒有任何證據顯示破日搬家會更倒楣。而且歷代曆書的神煞系統極其龐雜、各家取捨不一,同一天不同版本的黃曆可能給出不同宜忌;連建除在節氣交接日要不要「重複一神」,各流派都有分歧。本文與本站計算器處理的,是其中規則最明確、傳承最久的三層:建除、二十八宿、彭祖百忌。

我們的計算器怎麼實作與驗證這套曆法

干支系統最美的性質是「全機械」:不需要天文觀測、不需要查表,只要一個連續日數就能推出一切。本站計算器以天文學通用的儒略日數(JDN,一種對每一天連續編號的日序)為底層時間軸,日干支只需一行公式:(JDN + 49)mod 60,餘 0 即甲子。沒有資料庫、沒有對照表,任何一天——不論西元前後——都是同一條算式當場推導。

公式對不對,拿歷史錨點驗證。我們用兩枚錨:其一,1949 年 10 月 1 日是甲子日——代入公式,該日 JDN 為 2433191,加 49 恰好被 60 整除,命中;其二,西元 184 年是甲子年——正是黃巾軍「歲在甲子」的那一年,(184 − 4)mod 60 = 0,命中。日與年兩條獨立的循環各自對上史實,整套系統就釘死了。

其餘全部順勢推導:月干支用五虎遁、時干支用五鼠遁,如前所述都是模運算,程式碼裡就是乘二加常數再取餘;建除十二神按「月建之支起建、逐日順行十二」的古典規則排布;二十八宿是(JDN + 11)mod 28;彭祖百忌由日柱的干與支各查一條、共 22 條規則組成。整個黃曆頁面零資料表、純函數推導——這代表它可以被檢驗:你可以拿任何一本歷史年表、任何一天的老黃曆來對答案,錯一天我們都無所遁形。

最後說點私心。endlessnovel 的三國劇本開場正落在東漢末年,那是一個「歲在甲子」四個字足以動員數十萬人的時代。我們把干支與黃曆做成計算器,不只是工具,也是讓你摸到那個時代時間質感的一扇門:對西元 184 年的人來說,甲子不是冷知識,是天命的倒數計時。

相關頁面

常見問題

2026 年是什麼干支年?生肖是什麼?

2026 年是丙午年,生肖屬馬。算法:(2026 − 4)mod 10 = 2,天干第三位是丙;(2026 − 4)mod 12 = 6,地支第七位是午。要注意換界問題:民間曆書以農曆正月初一換年,命理八字則以立春(2026 年 2 月 4 日)換年,立春前出生仍算乙巳年。

干支年怎麼換算成西元年?西元年怎麼變干支?

西元轉干支:年份減 4,除以 10 的餘數對應天干(0 甲、1 乙……9 癸)、除以 12 的餘數對應地支(0 子、1 丑……11 亥)。速記法:西元尾數 4 是甲、5 乙、6 丙、7 丁、8 戊、9 己、0 庚、1 辛、2 壬、3 癸。反向換算則不唯一——干支六十年一輪,「辛亥年」可以是 1911、1971、2031……必須搭配朝代或大概年代才能鎖定是哪一個。

甲子年是西元幾年?

凡是(西元年 − 4)能被 60 整除的都是甲子年。距今最近的是 1984 年,上一個是 1924,下一個是 2044;往回推有 184 年(黃巾之亂「歲在甲子」的那一年)、244、304……每六十年準時再來一次。

我出生那天的日干支(日柱)怎麼算?

先把生日換成儒略日數 JDN,再算(JDN + 49)mod 60 即得日柱——或直接用本站計算器輸入日期,一秒出結果。要注意「晚子時」爭議:23:00 之後出生,部分命理流派把日柱算到隔天、部分維持當天,兩派都有傳承;排八字時最好確認採用的是哪一種。

黃曆的宜忌有科學根據嗎?為什麼還值得看?

沒有科學證據顯示宜忌能預測吉凶,它的價值在文化與歷史:建除十二神在西漢《淮南子》已有完整記載,是持續運轉兩千多年的民俗規則系統。把它當成理解古人如何組織時間、安排大事的窗口,比當成行事指南更有意思。