干支
天干地支是十干与十二支的合称、簡通稱為十天干十二地支，由两者经一定的組合方式搭配成六十对，为一个周期，循環往復，称为六十甲子或六十花甲子年。
古代中國用以记录年、月、日、时。日本、朝鮮、越南、琉球等汉字文化圈地区也曾跟随古代中国，使用干支来记录时间。
用干支纪年法纪年时一个周期为六十年，所以也用“甲子之年”或“花甲之年”来形容60岁的老年人。
考古发现，最早在商朝后期帝王帝乙时的一块甲骨上，刻有完整六十甲子，可能是当时的日历，说明在商朝时已经开始使用干支纪日了。根据考证，春秋时期鲁隐公三年二月己巳（西元前720年2月22日，即農曆辛酉年属雞），曾发生一次日食，这是中国古代使用干支纪日的確切證據。而使用皇帝年号纪年则始自汉武帝太初年号。
干支在古代稱干枝，好比樹幹和樹枝，有主幹分枝之意。
干支曆作为中国传统历法，在古代中国一直使用，从未间断。因此对研究历史相當有帮助，便於推算-{}-历史时间。
原則要求天干与地支配对使用，兩兩相配，始於甲子，終於癸亥，六十為一循環。即如下两组配对且交叉使用：
太平天国时，曾把“丑”改为“好”，“卯”改为“荣”；“亥”改为“开”。
《》載記軒轅黃帝「作甲子，甲乙丙丁戊己庚辛壬癸謂之幹，子丑寅卯辰巳午未申酉戌亥謂之枝，枝幹相配以名，日而定之以納音。」創立干支紀年法，將十天干和十二地支分別組合起來，共配成為六十個組合，用來表示年、月、日之次序，周而復始，循環使用。
干支纪年萌芽于西汉，始行于王莽，通行于东汉后期。汉章帝元和二年（西元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對應子到亥。註一：第一行的意義是在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-3=1992，1992除以10的餘數是2，所以是第2個天干——乙，1992除以12的餘數是0，所以是第12個地支——亥，故西元1995年为乙亥年。 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日，合農曆壬子年正月初一，以及9912年2月18日，都是“甲子日”。
公式法
若我們為天干的「甲、乙、……、壬、癸」編上 1, 2, ……, 9, 0 等序號；地支的「子、丑、……、戌、亥」亦編上 1, 2, ……, 11, 12 等序號，從已知日期計算干支紀日的公式為：
儒略曆 格里曆
其中奇數月 i=0，偶數月 i=6，C 是年份除一百向下取整，y 是年份後兩位，M 是月份，d 是日數。1月和 2月按上一年的 13月和 14月來算，例如1912年2月=1911年14月。formula_17表示向下取整。gz 除以60的餘数是干支数，如果餘数为0，则取60；gz 或 g 除以 10 的餘數是天干，gz 或 z 除以 12 的餘數是地支。
查表法 口算法 1. 西元前720年2月22日 2. 西元前211年11月1日 3. 西元1912年2月18日
由於華夏曆法中每個月日數不定，且可能有閏月，故若在史書中記載「某年某月某日」在計算經過的時間長度時會非常麻煩。而利用干支計日則可以方便地計算。
例：《史記·秦始皇本紀》記載，「（始皇）三十七年十月癸-{丑}-，始皇出遊。……七月丙寅，始皇崩於沙丘平臺。」秦曆每年十月為歲首，然後是十一月、十二月、一月……九月。計算此次出遊的總日期數。
解：從癸-{丑}-（第50日）到丙寅（第3日）總共是13日。所以總出遊日期數一定是60n+13。9個月大約是270日，但270日並不是60的倍數，所以可以判斷有一個閏月；從而，n=5，總共出行10個多月，日期數為313天。
事實上，如果換算成西曆，則為前211年11月1日出遊，前210年9月10日駕崩，共313天。
以12時辰為1日之紀時法，在周髀算經已有雛型。干支紀時法則源起年代未明。《史記‧曆書》以十二支紀時，可能到了唐代才將十二支配上十干。
以干支紀時，60時辰合5日一個週期；一個週期完了重複使用，週而復始，循環下去。日上起時亦有歌訣。下表列出日天干和時辰地支構成的時辰干支，以UTC+8為準：
宋代記時辰已有「初」、「正」之分。如23時為「子初」，0時為「子正」。並可配合刻使用，如「己初初刻」、「子正四刻」、「寅初四刻」。
隋後普遍行百刻制，每天100刻。至順治二年（西元1645年）頒行時憲曆後，改為日96刻，每時辰八刻（初初刻、初一刻、初二刻、初三刻、正初刻、正一刻、正二刻、正三刻）。自此每刻15分，無「四刻」之名。
從前一日23時到凌晨1時叫作子，繼續下去，丑、寅……從11時至13時叫作午。所以現代，半夜0時叫「子夜」，白畫12時叫「中午」。中午之前叫「上午」，中午之後叫「下午」。
在中國天文星象以及曆法計算上，皆以子正0時分日。惟在八字命理上，由於這會造成12時辰中，獨有子時出生者被分割；造成當日凌晨0時至1時（早子時）出生者與前一日深夜23時至0時（夜子時）出生者雖具有相同時干支，卻為不同日干支的特殊情況，或存有命盤不連續之問題。因之該如何處理子初出生者（是以子初、抑或子正換日柱），仍有很大爭議。自古雖有取子正分日者，亦有當以子初分日之論；甚或認為徐子平四柱八字以子正分日、紫微斗數以子初分日者。五行中每一行都有不同性能。「木曰曲直」，意思是木具有生長、升發之特性；「火曰炎上」，是火具有發熱、向上之特性；「土曰稼穡」，是指土具有種植莊稼，生化萬物之特性；「金曰從革」，是金具有肅殺、變革之特性；「水曰潤下」，是水具有滋潤、向下之特性。古人基於此種認識，將宇宙間各種事物分別歸屬於五行，因此在概念上，已經不是木、火、土、金、水本身，而是一大類在特性上可相比擬之各種事物、現象所共有之抽象性能。
陰陽五行是針對十干表示命運的說法，用了五行（木、火、土、金、水）與陰陽（陽為兄、陰為弟）配對。十二支皆有相對應的五行。四季所對應的五行為：春季為木、夏季為火、秋季為金、冬季為水，土則是對應各季節的最後一個月分，用於表示季节轉換。另外日語的訓讀來自地支所對應的生肖，比如「亥」的訓讀い（i）來自於いのしし（inoshishi），日本漢字寫作「猪」。
將其分配為：
干支可以表示方位和角度。