天干地支是十干與十二支的合稱、簡通稱為十天干十二地支，由兩者經一定的組合方式搭配成六十對，為一周期，循環往復，稱為一甲子或花甲之年。



歷史

古代中國用以記錄年、月、日子及時期。漢字文化圈地區也曾跟隨古代中國用干支記錄時間。

仍以曾用干支紀年法紀年時一周期為六十年後，所以也用「甲子之年」或「花甲之年」來形容（60＋1 虛齡）或歲數之一的老人。

考古發現，最早在商朝後期帝王帝乙時的一塊甲骨上，刻有完整六十甲子，可能是當時的日曆，說明在商朝時已經開始使用干支紀日了。根據考證，春秋時期魯隱公三年二月己巳（西元前 720 年 2 月 22 日，即農曆辛酉年屬雞）曾發生日食，這是中國古代使用干支紀日的確切證據。而使用皇帝年號紀年則始自漢武帝太初年號。

干支在古代稱榦枝，好比樹幹和樹枝，有主幹分枝之意。

干支曆作為中國傳統曆法，在古代中國一直使用，從未間斷，對研究歷史相當有幫助，便於推算歷史時間。

起始

天干地支之起始點為公元前 2997 年，與之減去公元紀年換算後即為六十甲子紀年法。

干支與公元紀年對照表


* 公元紀年天干地支的是減去分別在以六十甲子：紀年以黃帝紀元後建立天干地支為開始，來自約公元前 2997 年＋，以黃帝紀元（格里曆前 2997 年）開始計算，其餘月份安排等與農曆相同。換算方法為格里曆年份＋2997 為干支年份，如 2023 年，則為干支 2023＋2997＝5020 年。起即由為六十甲子十天干十二地支紀年法計算機方法。



循環天干地支（甲子至癸亥年）

原則要求天干與地支配對使用，兩兩相配，始於甲子，終於癸亥，六十為一循環。即如下兩組配對且交叉使用：

十天干與十二地支的配對規則

根據紅色字體的又遁還曆天幹上（甲、丙、戊、庚、壬）而配對紅色字體的地支上（子、寅、辰、午、申、戌）；即由起藍色字體的十天干（乙、丁、己、辛、癸）並配對藍色字體的十二地支（丑、卯、巳、未、酉、亥）。

天干及地支配對十干與十二支列表

干支為 60 年各年份名稱

太平天國時，曾把「丑」改為「好」，「卯」改為「榮」；「亥」改為「開」。



干支紀年

《御批歴代通鑑輯覽》載記軒轅黃帝「作甲子，甲乙丙丁戊己庚辛壬癸謂之幹，子丑寅卯辰巳午未申酉戌亥謂之枝，枝幹相配以名日，而定之以納音。」創立干支紀年法，將十天干和十二地支分別組合起來，共配成為六十組合，用來表示年、月、日之次序，周而復始，循環使用。

干支紀年萌芽於西漢，始行於王莽，通行於東漢後期。漢章帝元和二年（西元 85 年，即農曆乙酉年屬鷄），朝廷下令在全國推行四分曆與干支紀年。可是，其實是類似的太歲紀年，用太歲所在位置來紀年，干支只是用以表示十二辰（把黃道附一周天分為十二等分）；木星（太歲）11.862 年繞天一周，所以太歲約 86 年會多走過一辰，這叫做「超辰」。在顓頊曆上，西漢武帝太初元年（前 104 年，即農曆丙子年屬鼠）是太歲在丙子，太初曆用超辰法改變為丁丑。漢成帝末年，由劉歆重新編訂的三統曆又將太初元年改變為丙子，把太始二年（前 95 年，即農曆乙酉年屬鷄）從乙酉改變為丙戌。而東漢的曆學者沒用超辰法。所以太歲紀年和干支紀年從太始二年表面一樣。

干支紀年，周期第一年為「甲子」（如黃巾起事口號為「歲在甲子，天下大吉」），第二年為「乙丑」，依此類推，60 年一周期；周期完了重複使用，周而復始，循環下去。60 甲子年後的天干地支，如：1744、1804、1864、1924、1984、2044 年同為甲子年；1745、1805、1865、1925、1985、2045 年同為乙丑年，依次類推。這種作記法俗稱一為「天運歲次○○年」。

干支紀年→西曆

西曆新年和華夏新年或干支曆新年相差少於兩個月；在西曆新年後，華夏新年或干支曆新年之前，例如西曆 1 月 2 日，則續用上年之干支。夏曆以正月初一為一年之始，而干支曆八字則以立春為一年之始。

天干用序號 1 至 10 表示甲到癸，地支用 1 至 12 對應子到亥。

　
: 6× 干－5× 支＋3（或 1983）＋60n＝西曆年（n 為整數）

　
: 即，設年是西元後某年，干是年的天干（甲＝1，乙＝2，丙＝3，…，癸＝10），支是年的地支（子＝1，丑＝2，寅＝3，…，亥＝12），則

　
: 年≡6 干－5 支＋3（mod 60）

證明

甲子＝1，乙丑＝2，丙寅＝3，…，癸亥＝60。設（干，支）是六十干支的第 _x_ 組，則

_x_ 和干分別除以 10 時餘數相同：_x_≡干（mod 10）

同乘以 6：6_x_≡6 干（mod 6×10）

_x_ 和支分別除以 12 時餘數相同：_x_≡支（mod 12）

同乘以 5：5_x_≡5 支（mod 5×12）

兩式相減：6_x_－5_x_≡_x_≡6 干－5 支（mod 60）

西元 3 年是癸亥年，是六十干支的第 60 組兼最後一組：年≡_x_＋3（mod 60）

代入即得：年≡6 干－5 支＋3（mod 60）。

註和例子

註一：第一行的意義是在 60 年循環中的位置。負數並無不可，因後面可任意加或減 60 的倍數（_n_ 是整數）；但若規定頭一行須為正數（第 1 至 60 個之間），則當（干－支）是負數時，在括號內加 12 或在括號外加 60（12×5＝60）。當且僅當（干－支）是負數時，［（干－支）×5＋干］不是 1 至 60 間的整數。

註二：為何加 3 或 1983：因西元 4 年和 1984 年是甲子年（1），1＋3＝4，1＋1983＝1984。這兩年的差額 1980 是 60 的倍數。3 容易記，1983 年是小於現在的年份中，最接近現在者。

例子 1：辛亥年。辛是天干中的 8，亥是地支中的 12。6×8－5×12＝－12。1983－12＝1971，1971＋60＝2031，1971－60＝1911；計算得 2031 年、1971 年和 1911 年都是辛亥年。

例子 2 之 1：癸巳年到辛酉年最少隔幾年？癸＝10，巳＝6，辛＝8，酉＝10，6×（8－10）－5×（10－6）＝－32，－32＋60＝28，故最少隔 28 年。

例子 2 之 2：反過來問，辛酉年到癸巳年最少隔幾年？只要將上述答案取相反數，再加 60，使之為正整數（或說用 60 減去上述答案），即為答案，故最少隔－28＋60＝32 年。此運算特性符合一般大眾對於循環事項的先後間距的認知。

可見所有亥年在 60 循環中都相當於［天干 ×6］：乙亥年：12；丁亥年：24；己亥、辛亥、癸亥：36，48，60。這是很簡單直接的（第一次亥年是 12），亦可從以上公式得出。

西曆→干支紀年

將西元後年分減 3，再除以 10，所得餘數即為第幾干（餘 0 則視為第 10 干）；將西元後年分減 3，再除以 12，所得餘數即為第幾支（餘 0 則視為第 12 支）。


* 例如：西元 1995 年

1995－3＝1992，1992 除以 10 的餘數是 2，第 2 干 —— 乙；1992 除以 12 的餘數是 0，第 12 支 —— 亥，故西元 1995 年為乙亥年。


* 再如：西元 1861 年

1861－3＝1858，1858 除以 10 的餘數是 8，第 8 干 —— 辛；1858 除以 12 的餘數是 10，第 10 支 —— 酉，故西元 1861 年為辛酉年。

西元前紀年與干支紀年的換算表：

如：西元前 155 年

尾數 5 對應天干的「丙」；155 除以 12 得餘數 11，對應地支的「戌」。該年為丙戌年。西元前 8 年則為癸丑年；西元前 2 年為己未年。



干支紀月

史書中通常以序數紀月，干支紀月除了月建（月支）之外，月干在研究中國歷史時並不普遍，而較常用於計算八字。月建於春秋時期即已可見。「以子建月」即以日南至的十一月為一年的開始。可能到了唐代才配上天干。

此外由於各帝王可能採用不同曆法，因此干支紀月亦不見得準確。例如三國時期用景初曆，可能出現在不同國家，卻在不同日換月分的情況；一國是初一，另一國是前一個月的月末，此時月干支即不同。

計算八字時使用的干支曆，與史書、傳統曆法（包括農曆）或使用太陰曆的紫微斗數有所不同。傳統曆法以月亮的盈虧周期作為一月，而八字計算則以二十四節氣其中的十二節氣（非中氣）所在時刻（非以日首）分月，並賦以地支之名，如大雪小寒之間為子月，小寒到立春為丑月。因此八字計算過了當月節氣發生之時刻才換月干支，可能產生月中與日中換干支的情況。

計算八字時使用的干支曆以立春時刻為一年之始，每五年一循環，每月的天干由該月支所在年的天干決定。例如：若某年的子月所在之年為甲子年，則該子月為丙子月，緊接著其後的丑月是丁丑月。

年上起月的歌訣，《五虎遁月歌》：甲己之年丙作初，乙庚之歲戊為頭，丙辛歲首從庚起，丁壬壬位順流行，若問戊癸何方法，甲寅之上好推求。

具體推算如下：



干支紀日

干支紀日，60 週期的時候大致合 2 個月一周期；一周期完了重複使用，周而復始，循環下去。天文計算指出干支紀日至少始於《春秋》所記，魯隱公三年夏曆二月己巳日（周平王五十一年，西元前 720 年 2 月 22 日）之日食。

儒略曆平年有 365 日，而每 4 年一次，西元年能由 4 整除，閏年有 366 日，平均一年 365.25 日，4 年 1461 日和一甲子的 60 日，最小公倍數是 29220 日，合 80 年。這就是說，過了羅馬失閏之後，每 80 年，干支紀日對應的儒略曆月日日期會反覆一次循環。

格里曆平年有 365 日，而每 4 年一次，西元年份可由 100 但非 400 年一次整除（非閏年，如 1700、1800、1900、2100、2200、2300 年為平年沒閏年；如 2000、2400 年為閏年），閏年有 366 日，平均一年 365.2425 日，所以 400 年 146097 日和一甲子的 60 日，最小公倍數是 2921940 日，合 8000 年。這就是說，每 8000 年，干支紀日對應的格里曆月日日期若沒有遇到能由 100 但非 400 整除的西元年，會反覆一次循環，但整體而言，假設未來從不改格里曆，每 8000 年，干支紀日對應的格里曆月日日期才會反覆一次完整的循環。1912 年（中華民國元年）2 月 18 日，合農曆壬子年正月初一，以及 1949 年 10 月 1 日，都是「甲子日」。

干支紀日與西曆換算

公式法

若為天干的「甲、乙、……、壬、癸」編上 1，2，……，9，0 等序號；地支的「子、丑、……、戌、亥」亦編上 1，2，……，11，12 等序號，從已知日期計算干支紀日的公式為：

儒略曆

　
: $gz=45C+5y+\left\lfloor {y \over 4}\right\rfloor +30\times (M+1)+\left\lfloor {3\times (M+1) \over 5}\right\rfloor +d+5$

　
: $g=5C+5y+\left\lfloor {y \over 4}\right\rfloor +\left\lfloor {3\times (M+1) \over 5}\right\rfloor +d+5$

　
: $z=9C+5y+\left\lfloor {y \over 4}\right\rfloor +\left\lfloor {3\times (M+1) \over 5}\right\rfloor +d+5+i$

格里曆

　
: $gz=44C+\left\lfloor {C \over 4}\right\rfloor +5y+\left\lfloor {y \over 4}\right\rfloor +30\times (M+1)+\left\lfloor {3\times (M+1) \over 5}\right\rfloor +d+7$

　
: $g=4C+\left\lfloor {C \over 4}\right\rfloor +5y+\left\lfloor {y \over 4}\right\rfloor +\left\lfloor {3\times (M+1) \over 5}\right\rfloor +d-3$

　
: $z=8C+\left\lfloor {C \over 4}\right\rfloor +5y+\left\lfloor {y \over 4}\right\rfloor +\left\lfloor {3\times (M+1) \over 5}\right\rfloor +d+7+i$

其中奇數月 i＝0，偶數月 i＝6，C 是年份除一百向下取整，y 是年份後兩位，M 是月份，d 是日數。1 月和 2 月按上一年的 13 月和 14 月來算，例如 1912 年 2 月＝1911 年 14 月。 $\lfloor \;\rfloor $ 表示向下取整。gz 除以 60 的餘數是干支數，如果餘數為 0，則取 60；gz 或 g 除以 10 的餘數是天干，gz 或 z 除以 12 的餘數是地支。

查表法

口算法


* a＝Y mod 80

* b＝（5a＋a÷4）mod 60

* c＝10＋C÷4－C（格里曆），c＝8（儒略曆）

* d＝（M＋1）mod 2×30＋［0.6（M＋1）－3］－i
  
* M＝13 或 14 時平年 i＝－5，閏年 i＝－6（詳見下表）

* e＝D

* f＝（b＋c＋d＋e）mod 60

* g＝f mod 10，z＝f mod 12

一、西元前 720 年 2 月 22 日

　
: a＝－719 mod 80＝1

　
: b＝5×1＋1÷4＝5

　
: c＝8

　
: d＝（14＋1）mod 2×30＋［0.6（14＋1）－3］－5＝31

　
: e＝22

　
: f＝（5＋8＋31＋22）mod 60＝6

　
: g＝z＝6，己巳

二、西元前 211 年 11 月 1 日

　
: a＝－210 mod 80＝30

　
: b＝（5×30＋30÷4）mod 60＝37

　
: c＝8

　
: d＝（11＋1）mod 2×30＋［0.6（11＋1）－3］＝4

　
: e＝1

　
: f＝37＋8＋4＋1＝50

　
: g＝50 mod 10＝0，z＝50 mod 12＝2，癸丑

三、西元 1912 年 2 月 18 日

　
: a＝1912 mod 80＝72

　
: b＝（72 mod 12×5＋72÷4）mod 60＝18

　
: c＝10＋19÷4－19＝－5

　
: d＝（14＋1）mod 2×30＋［0.6（14＋1）－3］－6＝30

　
: e＝18

　
: f＝（18－5＋30＋18）mod 60＝1

　
: g＝z＝1，甲子

干支計算日數

由於華夏曆法中每個月日數不定，且可能有閏月，故若在史書中記載「某年某月某日」在計算經過的時間長度時會非常麻煩。而利用干支計日則可以方便地計算。

例：《史記・秦始皇本紀》記載，「（始皇）三十七年十月癸丑，始皇出遊。…… 七月丙寅，始皇崩於沙丘平臺。」秦曆每年十月為歲首，然後是十一月、十二月、一月…… 九月。計算此次出遊的總日期數。

解：從癸丑（第 50 日）到丙寅（第 3 日）總共是 13 日。所以總出遊日期數一定是 60n＋13。9 個月大約是 270 日，但 270 日並不是 60 的倍數，所以可以判斷有一個閏月；從而，n＝5，總共出行 10 個多月，日期數為 313 天。

事實上，如果換算成西曆，則為前 211 年 11 月 1 日出遊，前 210 年 9 月 10 日駕崩，共 313 天。



干支紀時

以 12 時辰為期 1 日之紀時法，在周髀算經已有雛型。干支紀時法則源起年代未明。《史記・曆書》以十二支紀時，可能到了唐代才將十二支配上十干。

以干支紀時，60 時辰合 5 日一週期；一週期完了重複使用，週而復始，循環下去。日上起時亦有歌訣。下表列出日天干和時辰地支構成的時辰干支，以東八區為準：

宋代記時辰已有「初」、「正」之分。如 23 時為「子初」，0 時為「子正」。並可配合刻使用，如「己初初刻」、「子正四刻」、「寅初四刻」。

隋後普遍行百刻制，每天 100 刻。至順治二年（西元 1645 年）頒行時憲曆後，改為日 96 刻，每時辰八刻（初初刻、初一刻、初二刻、初三刻、正初刻、正一刻、正二刻、正三刻）。自此每刻 15 分，無「四刻」之名。

從前一日 23 時到凌晨 1 時叫作子，繼續下去，丑、寅…… 從 11 時至 13 時叫作午。所以現代，半夜 0 時叫「子夜」，白畫 12 時叫「中午」。中午之前叫「上午」，中午之後叫「下午」。

子初分日問題

在中國天文星象以及曆法計算上，皆以子正 0 時分日。惟在八字命理上，由於這會造成 12 時辰中，獨有子時出生者被分割；造成當日凌晨 0 時至 1 時（早子時）出生者與前一日深夜 23 時至 0 時（夜子時）出生者雖有相同時干支，卻為不同日干支的特殊情況，或存有命盤不連續之問題。因之該如何處理子初出生者（是以子初、抑或子正換日柱），仍有很大爭議。自古雖有取子正分日者，亦有當以子初分日之論；甚或認為徐子平四柱八字以子正分日、紫微斗數以子初分日者。



年月日干支全同

辛丑、壬子有可能年月日干支全同。



年月日時干支全同

己巳、甲戌、庚辰、乙酉、辛卯、丙申、壬寅、丁未、戊午、癸亥有可能年月日時干支全同。



陰陽五行說


* 五行相剋：金剋木，木剋土，土剋水，水剋火，火剋金。

* 五行相生：金生水，水生木，木生火，火生土，土生金。

五行中每一行都有不同性能。「木曰曲直」，意思是木有生長、升發之特性；「火曰炎上」，是火有發熱、向上之特性；「土曰稼穡」，是指土有種植莊稼，生化萬物之特性；「金曰從革」，是金有肅殺、變革之特性；「水曰潤下」，是水有滋潤、向下之特性。古人基於此種認識，將宇宙間各種事物分別歸屬於五行，因此在概念上，已經不是木、火、土、金、水本身，而是一大類在特性上可相比擬之各種事物、現象所共有之抽象性能。

十干

陰陽五行是針對十干表示命運的說法，用了五行（木、火、土、金、水）與陰陽（陽為兄、陰為弟）配對。

十二支

十二支皆有相對應的五行。四季所對應的五行為：春季為木、夏季為火、秋季為金、冬季為水，土則是對應各季節的最後一個月分，用於表示季節轉換。另外日語的訓讀來自地支所對應的生肖，比如「亥」的訓讀い（i）來自於いのしし（inoshishi），日本漢字寫作「豬」。

將其分配為：

陰陽五行説是起源於中國的戰國時代，為鄒衍的五德終始說與陰陽思想相互結合所產生。並且與干支結合而成為干支五行説，進一步成為天地間萬物的根本起源。



方位和角度

干支可以表示方位和角度。


* 方位：正北亦稱「子」，正南亦稱「午」，正東亦稱「卯」，正西亦稱「酉」。

* 角度：「子」為 0 度或 360 度，要放在 30 度十二地支。「丑」為 30 度，「寅」為 60 度，「卯」為 90 度，「亥」為 330 度。



參考文獻

引用

來源



延伸閱讀

[編]

　
: 《欽定古今圖書集成・曆象彙編・歲功典・干支部》，出自陳夢雷《古今圖書集成》



參見


* 蔡勒公式

* 繞迥

* 八字

* 五運六氣



外部連結