- 首頁/
- 易學與傳統術數/
- 天干地支(干支):中國曆法與術數的六十迴圈/
- 六十甲子:天干地支如何組合成六十迴圈
六十甲子:天干地支如何組合成六十迴圈
為什麼十天干與十二地支只產生六十組,並用於年、月、日與時辰

兩個輪子一起轉
六十甲子的構成很簡單:十干和十二支各自迴圈,同步往前走,每一步取一個幹、一個支配成一組。甲子、乙丑、丙寅、丁卯……走到癸亥,正好回到起點。可以想像成兩個齒數不同的齒輪咬在一起,轉到六十步才重新對齊。
兩串並行的推法可以這樣看:干支各自是一個獨立的輪子,一個十齒,一個十二齒,咬合著一同轉。每轉一步,兩個輪子各進一齒;要等到兩個輪子同時回到起始的那一齒,才算走完一週。所以這個迴圈的長度,完全由兩個齒數決定,與吉凶、與任何解釋都無關。
為什麼是六十,不是一百二十
十乘十二等於一百二十,但實際只有六十組。原因有兩種說法,其實是同一件事的兩個角度。
數學上:十和十二的最小公倍數是六十,兩個輪子同步轉動,六十步後同時回到起點。
體系上:陽幹只配陽支,陰乾只配陰支。甲、丙、戊、庚、壬為陽,只配子、寅、辰、午、申、戌;乙、丁、己、辛、癸為陰,只配醜、卯、巳、未、酉、亥。所以“甲醜”“乙子”這樣的組合根本不存在,一半搭配被排除,剩下六十。
兩種解釋指向同一個結果,因為同步轉動本身就保證了奇配奇、偶配偶。這不是巧合,而是設計的必然。
六旬與旬空
六十甲子按十個一組分成六旬,各以甲開頭:甲子旬、甲戌旬、甲申旬、甲午旬、甲辰旬、甲寅旬。
這裡有一個重要的技術概念。每旬只有十組,而地支有十二個,所以每一旬裡必然有兩個地支用不到,這兩個就叫“旬空”或“空亡”。例如甲子旬從甲子到癸酉,其中不出現戌和亥,所以這一旬的旬空是戌亥。
旬空在六爻占卜裡是關鍵判斷依據之一——落在空亡的爻被認為力量不足或事情落空。它不是憑空發明的設定,而是六十甲子結構上的必然結果。知道這個來源,就不會把它當成不可解釋的口訣。
可以再補一句算術上的緣故:十與十二的最小公倍數是六十,最大公約數是二。正因為公約數是二,陽幹只能配陽支、陰乾只能配陰支,一百二十種想得出的配法裡只用得上六十種。這不是為吉凶而設的規矩,純是兩數相配的結果。
同一套符號,四個時間尺度
干支同時用於年、月、日、時,所以八字的“四柱”其實是同一套符號在四個尺度上的讀數:
- 年柱——以立春為界。
- 月柱——以各月的節氣為界。
- 日柱——連續不斷的日序,自商代延續至今。
- 時柱——兩小時一支,涉及真太陽時的換算。
四柱八字這個名稱的意思就是:四個尺度,每個尺度一干一支,共八個字。
四個尺度同用一套符號,好處是記法統一,壞處是容易混淆:同一個“甲子”既可以指某一年,也可以指某一日、某一月或某一時。讀舊文獻時要先看它講的是哪一個尺度,這一點古人往往省略不提,因為在當時的語境裡不會有歧義。
人生裡的一甲子
六十歲稱“花甲”或“一甲子”,因為到這一年,出生那年的干支重新出現。舊時做壽以此為重要節點,講的就是一個完整週期走完。這是干支進入日常人生刻度的例子——它不只是曆法工具,還提供了一種理解年齡階段的方式。
說到人生裡的一甲子,還有一層實際的意思:因為四柱之中年、月、日、時都取干支,一個人活到六十歲,年柱才回到出生那一年的同一項。舊時以此為一個整數,做壽的講究即由此而來。
怎麼推算一個年份的干支
有一個簡便演算法,用西元年份就能算:
- 把年份減去3。
- 所得數除以10,餘數對應天干第幾位(餘1為甲,餘2為乙,餘0為癸)。
- 同一個數除以12,餘數對應地支第幾位(餘1為子,餘2為醜,餘0為亥)。
試兩個。1984年:減3得1981;除以10餘1,天干為甲;除以12餘1,地支為子——甲子年。2024年:減3得2021;除以10餘1,天干為甲;除以12餘5,地支為辰——甲辰年。
用它可以直接核對歷史年份:1894年甲午、1898年戊戌、1900年庚子、1911年辛亥。這個演算法很值得記,讀史書時隨手能用。
推年份干支的辦法不止一種,有按公曆年份取餘數的口訣,也有查萬年曆的。日柱則不同:它由連續不斷的紀日之數而來,沒有簡便的心算之法,歷來都靠查表。四柱之中,唯有這一柱是非查不可的。
推算年份干支有個便於口算的辦法:西元年數減三,除以十所得餘數對應天干(餘一為甲,餘二為乙,以此類推,餘零為癸),除以十二所得餘數對應地支(餘一為子,餘二為醜,餘零為亥)。以二〇二四年為例,減三得二〇二一,除十餘一為甲,除十二餘五為辰,即甲辰年。要注意這裡的年以立春分界,公曆一月一日到立春之間仍屬前一年。
它與太陽年的關係
需要說清一點:干支紀年是一套純迴圈的命名法,本身不含天文含義。它不像迴歸年那樣有物理基礎,只是每過一年往前走一格。
所以干支年與節氣之間的對應必須另行規定,這就是術數把立春定為年柱分界的原因——否則干支年沒有明確起點。干支紀月與實際月份也要通過節氣來掛接。
這不算缺陷,而是設計取向:它犧牲了天文含義,換來絕對的穩定與連續。
與太陽年的關係還有一層要緊處:干支之年的界在立春,而立春是一個節氣,落在公曆二月初的某一天,年年略有出入。所以支年的起訖既不合公曆,也不合農曆正月,這是三套紀年並行時最容易出錯的一處。
作為通用時間座標
干支能延續三千年,現實原因就在這裡。年號會隨政權更迭而廢立,曆法會改,紀元會變,而干支迴圈不受這些影響。它是一套跨政權、跨曆法都能使用的中性座標。
史書大量使用干支紀日紀年,正是因為它可靠。今天用古代日食記錄去校驗干支日序,也能對得上,這從另一面證明了這套序列的連續性。
說它是通用座標,還可以從一個角度看:干支不依賴任何王朝、任何紀元,改朝換代不影響它的推排。正因為它與政權無關,它才成了跨越兩千餘年可以互相對接的一條連續記時之線。
旬空的十個位置
六十甲子有一項技術上的特徵值得講明白,因為命理之術不斷用到它。由於天干先於地支用盡,每十個連續之項裡,總有兩個地支在這一旬之內配不上任何天干。這兩個便稱為該旬的旬空或空亡,六十之中的六旬各有自己的一對。術者把命盤上落在相應旬空之支的位置視為虛而不實,於是那個位置所代表的事項,被認為不如表面看來那樣有著落。這一層解釋你信不信是另一回事,其背後的算術是確切而且容易核對的:空亡是十與十二並行推排的機械結果,其推導沒有一處出於隨意。
六十項各自的附加之說
後世的傳統給六十項中的每一項都附上了更多的東西,而不只是取用構成它的天干與地支。每一項被賦予它自身的一個五行之值,由一條規則推出,且往往與構成它的干支之五行並不相同;每一項還得到一個詩意的取象與一首短訣。這類彙編成了一支獨立的解釋傳統,有的術者看得很重,有的則全然不理。值得知道的是,這些附加之說是晚出的堆積,並不屬於原本那套計數系統,而且各家所載互有出入。所以凡是倚靠這一層的推斷,其所立足的正是這批材料裡最有爭議的一層,而不是曆法的那個根基。
今日仍用干支稱年
這個迴圈在日常裡仍用於指稱史事,認得它能讓許多中文著述讀起來清楚得多。十九與二十世紀若干盡人皆知的事件,習慣上都以其干支之年來稱說,而不用西曆;條約、變法、起事與災荒,常以這類名目為人所知。又因為六十年一輪,單憑這樣一個名目並不能定出是哪一個世紀,讀者得從上下文補出來——學者因此照例把干支與西曆的年份並列。舊時的通書、廟宇的碑記、族譜與田契都是這樣紀年的,所以凡要處理這類文書的人,都得能在兩套紀年之間換算。
用干支紀年還有一個固有的限制:它每六十年重複一次,因此單說甲子年並不能確定是哪一個甲子。傳統文獻的通行做法是把年號與干支連用,如康熙甲子、光緒庚子,這樣才能定到唯一的一年。日與月的干支同樣如此,但它們另有一項用處:古書所記的日干支可以與推算出的日月食、朔望互相核對,天文學家和歷史學家據此校正過不少古代年代。也就是說,這套本來用於紀時與占卜的符號,今天成了檢驗古代記載的工具之一。
三點要記住
- 六十來自十與十二的最小公倍數,也等於陽配陽、陰配陰的必然結果。
- 旬空是每旬十組配十二支的結構剩餘,不是額外的玄學設定。
- 干支紀年沒有天文含義,所以必須用節氣來規定起點。
要點
- 十干十二支同步迴圈,六十步回到起點,得六十組。
- 只有六十組而非一百二十,因為陽幹只配陽支、陰乾只配陰支。
- 六十分六旬,每旬缺兩支,即旬空,是結構上的必然。
- 年月日時四柱是同一套符號在四個尺度上的讀數。
- 六十歲稱花甲,因出生年干支重現。
- 年份減3後分別除以10和12取餘,即可推得干支。
- 干支紀年是純迴圈命名法,不含天文含義,故須以節氣定界。
- 它跨政權跨曆法可用,連續性可用古代日食記錄校驗。