(10)干支纪年推算方法
一、概论
干支记日法,也称甲子记日法,这是我国独特的计时方法。
“干支”,是“天干”和“地支”的简称。天干有十个,因而也叫“十天干”或“十干”,即:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有十二个,因而也叫“十二地支”或“十二支”,即:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。用天干记日,即用十天干周而复始地来记日,早在夏代就出现了。这从夏代后期的几个国王棗胤甲、孔甲、履癸等用天干命名可以得到有力的证明。商代则在夏代天干记日的基础上创造了干支记日法。
干支记日法是用十天干和十二地支互相配合,组成甲子、乙丑、丙寅、丁卯、戊辰、己巳、庚午、辛未、壬申、癸酉、甲戌、乙亥、丙子、丁丑、戊寅、己卯、庚辰、辛巳、壬午、癸未、甲申、乙酉、丙戌、丁亥、戊子、己丑、庚寅、辛卯、壬辰、癸巳、甲午、乙未、丙申、丁酉、戊戌、己亥、庚子、辛丑、壬寅、癸卯、甲辰、乙巳、丙午、丁未、戊申、己酉、庚戌、辛亥、壬子、癸丑、甲寅、乙卯、丙辰、丁巳、戊午、己未、庚申、辛酉、壬戌
、癸亥等共六十个甲子,俗称“六十花甲子”(简称“花甲”)。一个花甲以后天干地支再从头相配组合,如此周而复始,连绵不断。
用十天干和十二地支组合成六十甲子的干支记日法,从春秋鲁隐公三年(公元前720年)二月己巳日起,一直使用到清代宣统三年(公元1911年),在这长达2600多年的漫长岁月中,从未间断过,也没有发生过错乱,这是迄今所知世界上最悠久而完整的记日史料。
干支记日法的创造,是我国古代天文历法的一个重要进步。
二、纪年
1)天干
甲 乙 丙 丁 戊 己 庚 辛 壬 癸
4  5  6  7  8  9  0  1  2  3
凡是公元后某年的最后一位数字(个位数)是“4”,那么该年的天干就是“甲”;“5”就是“乙”;其余以此类推。如2003年的天干就是“癸”。记住这一编码很实用,虽然不能用干支
纪年来直接推算公元纪年,但可以给我们一点提示,凡是天干为“甲”的公元纪年数最后一位数必为“4”;“辛”为“1”;依次类推。如辛酉(1861)、辛丑条约(1901)、辛亥革命(1911)发生年代的最后一位数字都是“1”,而“1”刚好对应天干中的辛。 那么,1986最后一位是6,天干就是“丙”喽!
2)地支
子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
4  5  6  7  8  9  10 11  0  1 2  3
把公元某年的数字除以12,余数为“4”,那么该年的地支就是“子”;余数为“5”就是“丑”;其余依次类推。心算地支可将年份数减去12的倍数,如1800、1860、1920、1980等,再算就容易得多了。最后将天干、地支合在一起,就是公元某年的干支纪年。如2007年,最后一位数字是“7”,天干为“丁”,将1986除以12,余数为“6”,地支为“寅”,那么公元1986年就是丙寅年。如果按照一般对火虎年的理解,看一下天干、地支与五行的对应表就知道。
3)五行
甲 乙 丙 丁 戊 己 庚 辛 壬 癸
木 木 火 火 土 土 金 金 水 水
4)属相
子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪
若按传统演历法,根据天干、地支与五行的对应关系,1986年是丙寅年,“丙”五行属“火”,加之这一年的生肖属相为虎,所以1986年实为火虎年。
三、纪月
月支的确定比较容易,每年十二个月,月月有定:
子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
11 12 01 02 03 04 05 06 07 08 09 10
月干的确定,是从根据年干起月干,其口诀是:
甲己之年丙作首,乙庚之岁戊为头。
丙辛岁首从庚起,丁壬壬位顺行流。
若问戊癸发何方,甲寅之上好追求。
其方法为:若遇甲或己的年份,正月是丙寅;遇乙或庚之年,正月为戊寅;丙或辛之年正月为庚寅,丁或壬之年正为为壬寅,戊或癸之年正月为甲寅。正月之干支知道了,其余月可按六十甲子的序推知。
四、纪日
纪日推算方法很多,本文介绍两种。
1)日干支的推算方法一般按阳历日期来推算,先以当年的元旦干支的代表数为基础(天干1~10,地支1~12)另加所求日数,然后查表按月进行加或减(附后),再除去干支的周转数(天干10,地支12),所余的数即为所求的日干支的代表数,即可按数字转为干支,
此为平年的日干支推算法。如遇闰年,因二月多一天,所以在用上法推算时,从三月份起,应在所求日干支数上再加1。 
附:各月干支加减表 
一月干支均减1   
二月干加0支加6 
三月干减二支加10   
四月干减1支加5 
五月干支均减1   
六月干加0支加6 
七月干支均加0   
八月干加1支加7 
九月干支均加2   
十月干加2支加8 
十一月干支均加3   
十二月干加3支加9 
为了便于记忆,有歌一首: 
一五双减一 
二六加零六 
三减二加十 
四减一加五 
七零九加二 
八加一七走 
十上加二八 
冬三腊三九 
闰从三月起 
余数均加一 
例1:求1981年12月31日的日干支 
查1981年元旦干支为己卯,己的代表数为6,卯为4,即以6、4为基数进行计算。 
四个火念什么干:6+31(所求日数)+3(12月干加3)=40 
除去周转数30,余10。10代表癸,所以日干是癸。 
支:4+31+9(12月支加9)=44  除周转数36,余8。8代表未所以日支是未。 
合起来可知1981年12月31日为癸未日。并由此可以推之1982年元旦干支为甲申。
2)按下列口诀推算。
元旦加五一 
下数即为七 
七隔九月一 
九下十一月 
元上三月一 
元冲四月一 
四下二六一 
六下数八月 
八下十月整 
十下十二月 
闰年元旦兼三月 
下五五下七月明 
七隔一支为九月 
九下十一单月终 
双月五冲为二四 
四下六八十顺行 
十下十二终分明 
先要记住每年元旦日的干支。如2005年,元旦是乙酉日(与太岁同),为平年。按第一首歌诀推导其它各月的1号的干支。 
元旦兼五一,意思是五一与元旦的干支是一样的,按今年来说,也是乙酉日。
“下数即为七”,乙酉下一个干支是丙戌,那么,7月1日就是丙戌日也……“元冲四月一”,乙酉对冲(只是地支的对冲,干不变)是乙卯,所以,四月一日就是乙卯日了。 
如果知道了每月的1日,那么,每月的11日、21日、31日便可顺利推出。 
如今日是10月25日。先推出10月1日,元冲四月一,4月1日是乙卯日,“四月二六一、六月属八月、八下十月整”,很快可以推10月1日是戊午日。那么,11日就是戊辰,21日就是戊寅,25日则是壬午日了。