天干地支是十干与十二支的合称、簡通稱為十天干十二地支，由两者经一定的組合方式搭配成六十对，为一周期，循環往復，称为一甲子或花甲之年。

歷史 

古代中國用以记录年、月、日子及时期。汉字文化圈地区也曾跟随古代中国用干支記录时间。

最初，干支為古越語，後才簡化為中文。

十天干 : 阏逢、旃蒙、柔兆、强圉、著雍、屠维、上章、重光、玄黓、昭阳。

十二地支 : 困敦、赤奋若、摄提格、单阏、执徐、大荒落、敦牂、协洽、涒滩、作噩、阉茂、大渊献。

因干支纪年法纪年时一周期为六十年，所以也用“甲子之年”或“花甲之年”来形容（60＋1虚龄）或岁数之一的老人。

考古发现，最早在商朝后期帝王帝乙时的一块甲骨上，刻有完整六十甲子，可能是当时的日历，说明在商朝时已经开始使用干支纪日了。根据考证，春秋时期鲁隐公三年二月己巳（西元前720年2月22日，即農曆辛酉年属雞）曾发生日食，这是中国古代使用干支纪日的確切證據。而使用皇帝年号纪年则始自汉武帝太初年号。

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

干支曆作为中国传统历法，在古代中国一直使用，从未间断，对研究历史相當有帮助，便於推算-{}-历史时间。

干支年號

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

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

循環天干地支（甲子至癸亥年） 
原則要求天干与地支配对使用，兩兩相配，始於甲子，終於癸亥，六十為一循環。即如下两组配对且交叉使用：

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

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

各甲子年份干支為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：6x≡6干（mod 6×10）

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

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

兩式相減：6x－5x≡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年為己未年。

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

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

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

計算八字時使用的干支曆以立春時刻為一年之始，每五年一循環，每月的天干由该月支所在年的天干决定。例如：若某年的子月所在之年为甲子年，则该子月为丙子月，紧接着其后的丑月是丁丑月。

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

具体推算如下：

丙寅月 
公元紀年以下丙寅年六十月干紀年紀元後天干地支為開始，來自約（公元5年）開始計算：

壬戌月 
公元紀年以下壬戌年六十月干紀年紀元後天干地支為開始，來自約（西元前1919年）開始計算：

干支纪日 
干支纪日，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等序號，從已知日期計算干支紀日的公式為：

儒略曆

 
 
格里曆

 
 

其中奇數月i＝0，偶數月i＝6，C是年份除一百向下取整，y是年份後兩位，M是月份，d是日數。1月和2月按上一年的13月和14月來算，例如1912年2月＝1911年14月。表示向下取整。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度。

參考文獻

引用

来源 

 葛民勤：《怎样从已知年份和日期得到对应的干支纪年和纪日》

延伸阅读

参见 
 蔡勒公式
 绕迥
 八字
 五運六氣

外部連結 

SC
年