干支

天干地支是十干与十二支的合称、简通称为十天干十二地支，由两者经一定的组合方式搭配成六十对，为一周期，循环往复，称为一甲子或花甲之年。

**历史**
商代刻干支表牛骨（现藏于中国国家博物馆）
生肖、五行等。
古代中国用以记录年、月、日子及时期。汉字文化圈地区也曾跟随古代中国用干支记录时间。
因干支纪年法纪年时一周期为六十年，所以也用“甲子之年”或“花甲之年”来形容（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