干支是天干与地支的合称,由两者经一定的组合方式搭配成六十对,为一个周期,循环往复,称为六十甲子或六十花甲。
古代中国用以记录年、月、日、时。日本、朝鲜、越南、琉球等汉字文化圈地区也曾跟随古代中国,使用干支来记录时间。
用干支纪年法纪年时一个周期为六十年,所以也用“甲子之年”或“花甲之年”来形容60岁的老年人。
历史
考古发现,在商朝后期帝王帝乙时的一块甲骨上,刻有完整的六十甲子,可能是当时的日历。这也说明在商朝时已经开始使用干支纪日了。根据考证,春秋时期鲁隐公三年二月己巳(公元前720年2月22日),曾发生一次日食。这是中国古代使用干支纪日的比较确切的证据。而使用皇帝年号纪年则始自汉武帝太初年号。
干支在古代称干枝,好比树干和树枝。
干支历作为中国传统历法,在古代中国一直使用,从未间断。因此对研究历史相当有帮助,便于推算历史时间。
干支循环
原则上,天干与地支的使用上有配对使用的要求,即如下两组配对且交叉使用。如再配上生肖的话,其使用方法为,例如西历1984年为一个周期的第一年,即上一组开始的甲子鼠,1985年则轮到下组的乙丑牛,1986年又轮到下一组的丙寅虎,1987年轮到下一组丁卯兔,如此下去。最后形成循环。
干支配对及六十甲子
干支纪年
《御批历代通鉴辑览》载记轩辕黄帝“作甲子,甲乙丙丁戊己庚辛壬癸谓之干,子丑寅卯辰巳午未申酉戌亥谓之枝,枝干相配以名,日而定之以纳音。”创立干支纪年法,将十天干和十二地支分别组合起来,共配成六十组,用来表示年、月、日之次序,周而复始,循环使用。
干支纪年萌芽于西汉,始行于王莽,通行于东汉后期。汉章帝元和二年(公元85年),朝廷下令在全国推行四分历与干支纪年。可是,其实是类似的太岁纪年,用太岁所在位置来纪年,干支只是用以表示十二辰(把黄道附一周天分为十二等分);木星(太岁)11.862年绕天一周,所以太岁约86年会多走过一辰,这叫做“超辰”。在颛顼历上,西汉武帝太初元年(前104年)是太岁在丙子,太初历用超辰法改变为丁丑。汉成帝末年,由刘歆重新编订的三统历又将太初元年改变为丙子,把太始二年(前95年)从乙酉改变为丙戌。而东汉的历学者没用超辰法。所以太岁纪年和干支纪年从太始二年表面一样。
干支纪年,一个周期的第一年为“甲子”(如黄巾起事口号为“岁在甲子,天下大吉”),第二年为“乙丑”,依此类推,60年一个周期;一个周期完了重复使用,周而复始,循环下去。如1864年为甲子年,60年后的1924年同为甲子年;1865年为乙丑年,1925年同为乙丑年,依次类推。这种作记法俗称为“天运岁次○○年”。
干支纪年→西历
换算对西元后年份准确。但要留意西历新年和华夏新年或干支历新年相差少于两个月;在西历新年后,华夏新年或干支历新年之前,则续用上一年之干支。
天干用序号1至10表示甲到癸,地支用1至12对应子到亥。
6×天干 - 5×地支+3(或1983)+60n = 西历年份
即,设Year是西元后某个年份,H(heaven的首字母)是Year的天干(甲=1, 乙=2, 丙=3,....., 癸=10),E(earth的首字母)是Year的地支(子=1, 丑=2, 寅=3,....., 亥=12),则
Year≡6H-5E+3 (mod 60)证明:甲子=1,乙丑=2,丙寅=3,.....,癸亥=60,设干支(H,E)是六十干支的第X个,则x除以10的余数为H,X≡H (mod 10),同乘以6,得6X≡6H (mod 6*10)x除以12的余数为E,X≡E (mod 12),同乘以5,得5X≡5E (mode 5*12)两式相减,6X-5X≡X≡6H-5E (mode 60)由于公元3年是癸亥年,是六十干支的第60个兼最后一个,故 Year≡X+3 (mod 60),代入即得 Year≡6H-5E+3 (mod 60)西历→干支纪年
将西元后年分减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年为辛酉年。
干支纪年换算表
干支纪月
史书中通常以序数纪月,干支纪月除了月建(月支)之外,月干在研究中国历史时并不普遍,而较常在计算八字时使用。月建于春秋时期即已可见。“以子建月”即以日南至的十一月为一年的开始。可能到了唐代才配上天干[7]。
此外由于各帝王可能采用不同历法,因此干支纪月亦不见得准确。例如三国时期,由于景初历的使用,可能出现在不同国家,却在不同日换月分的情况;一国是初一,另一国是前一个月的月末,此时月干支即不同。
计算八字时使用的干支历,与史书、传统历法(包括农历)或使用太阴历的紫微斗数有所不同。传统历法以月亮的盈亏周期作为一月,而八字计算则以二十四节气其中的十二节气(非中气)所在时刻(非以日首)分月,并赋以地支之名,如大雪小寒之间为子月,小寒到立春为丑月。因此八字计算过了当月节气发生之时刻才换月干支,可能产生月中与日中换干支的情况。
计算八字时使用的干支历每五年一循环,每月的天干由该月支所在年的天干决定。例如:若某年的子月所在之年为甲子年,则该子月为丙子月,紧接着其后的丑月是丁丑月。
年上起月的歌诀,《五虎遁月歌》:甲己之年丙作初,乙庚之岁戊为头,丙辛岁首从庚起,丁壬壬位顺流行,若问戊癸何方法,甲寅之上好推求。
具体的推算如下图:
纪月推算
干支纪日
干支纪日,60日大致合2个月一个周期;一个周期完了重复使用,周而复始,循环下去。确定的文献指出干支纪日至少始于《春秋》所记,鲁隐公三年夏历二月己巳日(周平王五十一年,公元前720年2月22日)之日食。
因为儒略历的平年有365日,而每4年一次,公元年能被4整除,闰年有366日,平均一年365.25日,所以4年1461日和一甲子的60日,最小公倍数是29220日,合80年。这就是说,过了罗马失闰之后,每80年,干支纪日对应的儒略历月日日期会反复一次循环。
因为格里历的平年有365日,而每4年一次,公元年能被100但非400整除,闰年有366日,平均一年365.2425日,所以400年146097日和一甲子的60日,最小公倍数是2921940日,合8000年。这就是说,每80年,干支纪日对应的格里历月日日期若没有遇到能被100但非400整除的公元年,会反复一次循环,但整体而言,假设未来从不改格里历,每8000年,干支纪日对应的格里历月日日期才会反复一次完整的循环。1912年(中华民国元年)2月18日,合农历壬子年正月初一,以及9912年2月18日,都是“甲子日”。
干支纪时
以12时辰为1日之纪时法,在周髀算经已有雏型。干支纪时法则源起年代未明。《史记‧历书》以十二支纪时,可能到了唐代才将十二支配上十干。
以干支纪时,60时辰合5日一个周期;一个周期完了重复使用,周而复始,循环下去。日上起时亦有歌诀。下图列出日天干和时辰地支构成的时辰干支,以UTC+8为准:
时辰干支
宋代记时辰已有“初”、“正”之分。如23时为“子初”,0时为“子正”。并可配合刻使用,如“己初初刻”、“子正四刻”、“寅初四刻”。
隋后普遍行百刻制,每天100刻[19]。至顺治二年(公元1645年)颁行时宪历后,改为日96刻,每时辰八刻(初初刻、初一刻、初二刻、初三刻、正初刻、正一刻、正二刻、正三刻)。自此每刻15分,无“四刻”之名。
从前一日23时到凌晨1时叫作子,继续下去,丑、寅……从11时至13时叫作午。所以现代,半夜0时叫“子夜”,白画12时叫“中午”。中午之前叫“上午”,中午之后叫“下午”。