天干地支,是古人建历法时,为了方便做60进位而设的符号。对古代的中国人而言,天干地支的存在,就像阿拉伯数字般单纯,后来把这些符号运用在地图、方位及时间(时间轴与空间轴)上,所以这些数字被赋予的意思就越来越多了。
传说黄帝时代有一位大臣“深五行之情,占年纲所建,于是作甲乙以名日,谓之干;作子丑以名日,谓之支,干支相配以成六旬”。这只是一个传说,干支到底是谁最先创立的,现在还没有证实,不过在殷墟出土的甲骨文中,已有表示干支的象形文字,说明早在商代已经使用干支纪时法了。我国古人用这60对干支来表示年、月、日、时的序号,周而复始,不断循环,这就是干支纪时法。
干支就字面意义来说,就相当于树干和枝叶。我国古代以天为主,以地为从,天和干相连叫天干,地和支相连叫地支,合起来叫天干地支,简称干支。
天干有10个,就是甲、乙、丙、丁、戊、己、庚、辛、壬、癸,地支有12个,依次是子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。古人把它们按照甲子、乙丑、丙寅(也就是天干转六圈而地支转五圈,正好一个循环)的顺序而不重复地搭配起来,从甲子到癸亥共60对,叫作六十甲子。
每个单位代表一天,假设某日为甲子日,则甲子以后的日子依次顺推为乙丑、丙寅、丁卯等。甲子以前的日子依次逆推为癸亥、壬戌、辛酉等。六十甲子周而复始。
这种纪日法远在甲骨文时代就已经有了。
同一天内,人们也会用天干地支来表示一天的时辰。用十二地支表示12个时辰,每个时辰恰好等于现代的两小时。和现代的时间对照,夜半12点(即24点)是子时,凌晨2点是丑时,4点是寅时,6点是卯時,其余由此顺推。近代又把每个时辰细分为初、正。晚上11点(即23点)为子初,夜半12点为子正;凌晨1点为丑初,凌晨2点为丑正等。这就等于把一昼夜分为24小时了。
干支纪年始行于王莽,通行于东汉后期。汉章帝元和二年(公元85年),朝廷下令在全国推行干支纪年。有人认为中国在汉武帝以前已用干支纪年。其实是类似的太岁纪年,用太岁所在位置来纪年,干支只是用以表示十二辰(把黄道附一周天分为12等份),木星(太岁)11.862年绕天一周,所以太岁约86年会多走过一辰,这叫作“超辰”。在颛(zhuān)顼(xū)历上,西汉武帝太初元年(公元前104年)是太岁在丙子,太初历用超辰法改变为丁丑。汉成帝末年,由刘歆重新编订的三统历又把太初元年改变为丙子,把太始二年(公元前95年)从乙酉改变为丙戌。
而东汉的历学者未用超辰法,所以太岁纪年和干支纪年从太始二年表面一样。
干支纪年,一个周期的第一年为“甲子”(如黄巾起义口号为“岁在甲子,天下大吉”)。第二年为“乙丑”,依此类推,60年为一个周期。一个周期结束后重复使用,周而复始,循环下去。(60是10、12的最小公倍数,所以每60年为一周期,如1644年为农历甲申年,60年后的1704年同为农历甲申年,依此类推。)
必须特别注意的是,干支纪年是以立春作为一年,即岁次的开始,是为岁首,不是以农历正月初一作为一年的开始。例如,1984年大致是岁次甲子年,但严格来讲当时的甲子年是自1984年立春起,至1985年立春止。