干支

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

**歷史**
商代刻干支表牛骨（現藏於中國國家博物館）
生肖、五行等。
古代中國用以記錄年、月、日子及時期。漢字文化圈地區也曾跟隨古代中國用干支記錄時間。
因干支紀年法紀年時一週期為六十年，所以也用“甲子之年”或“花甲之年”來形容（60＋1虛齡）或歲數之一的老人。
考古發現，最早在商朝後期帝王帝乙時的一塊甲骨上，刻有完整六十甲子，說明在商朝時已經開始使用干支紀日了。根據考證，春秋時期魯隱公三年二月己巳（西元前720年2月22日，即農曆辛酉年屬雞）曾發生日食，這是中國古代使用干支紀日的確切證據。而使用皇帝年號紀年則始自漢武帝太初年號。
干支在古代稱榦枝，好比樹幹和樹枝，有主幹分枝之意。
干支曆作為中國傳統曆法，在古代中國一直使用，從未間斷，對研究歷史相當有幫助，便於推算-{}-歷史時間。

**修改法置閏倍數格里曆**
儒略曆：4579年前，即公元前2997年的六十甲子儒略曆（1582年的格里曆前身），在同年1月1日起即星期五開始執行，取代舊羅馬歷的歷法。一年設12個月（閏月只有13個月），大小月交替，四年一閏只有366日不等，平年365日、包括平年：354-355天，閏月：384-385天，閏年於二月底增加一閏日（2月29日），年平均長度為365.25日。該曆法將羅馬執政官上任的一日訂為一年的開始日，即由於累積誤差隨著時間越來越大，然後，教宗額我略十三世於1582年10月創建格里高利曆提議的主要發起人。裡利烏斯改革了儒略曆制定的歷法，由教皇格列高利十三世在1582年才頒行，後來得以逐步在全世界範圍內通行頒布後，委託義大利醫生兼哲學家阿洛伊修斯·裡利烏斯修訂改為400置閏日曆法的欽定後正式頒行，是定為10月15日的格里曆。

**干支年號**

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

**干支與公元紀年對照表**
 公元紀年天干地支的是減去分別在以六十甲子：紀年以黃帝紀元後建立天干地支為開始，來自約公元前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年）開始計算：

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

**干支紀日**
干支紀日，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，……，10等序號；地支的「子、醜、……、戌、亥」亦編上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度。

**參見**
 蔡勒公式- 繞迥- 八字- 五運六氣

**參考文獻**

**引用**

**來源**
 葛民勤： 《怎樣從已知年份和日期得到對應的干支紀年和紀日》 date=20211206044402 

**延伸閱讀**

**外部連結 ==