干支纪年萌芽于
西汉,始行于
王莽,通行于
东汉后期。汉章帝元和二年(85年),朝廷下令在全国推行
干支纪年。有人认为中国在汉武帝以前已用干支纪年。可是,其实是类似的太岁纪年,用太岁所在位置来纪年,干支只是用以表示十二辰(把黄道附一周天分为十二等分);木星(太岁)11.862年绕天一周,所以太岁约86年会多走过一辰,这叫做“超辰”。在颛顼历上,西汉武帝太初元年(公元前104年)是太岁在丙子,太初历用超辰法改变为丁丑。汉成帝末年,由刘歆重新编订的三统历又把太初元年改变为丙子,把太始二年(公元前95年)从乙酉改变为丙戌。而东汉的历学者没用超辰法。所以太岁纪年和干支纪年从太始二年表面一样。
干支纪年,一个周期的第一年为“甲子”(如黄巾起义口号为“岁在甲子,天下大吉”),第二年为“乙丑”,依此类推,60年一个周期;一个周期完了重复使用,周而复始,循环下去。如1644年为农历甲申年,60年后的1704年同为农历甲申年,300年后的1944年仍为农历甲申年,所以一代文豪郭沫若写有《甲申三百祭》;1864年为农历甲子年,60年后的1924年同为农历甲子年;1865年为农历
乙丑年,1925、1985年同为农历乙丑年,依次类推。
必须特别注意的是干支纪年是以立春作为一年即岁次的开始,是为岁首,不是以农历正月初一作为一年的开始。例如,1984年大致是岁次甲子年,但严格来讲,当时的甲子年是自1984年立春起,至1985年立春止。
▲
天干地支纪年与公历的近似换算 从已知的公历年份计算干支纪年:年份数减3,除以10的余数是天干,除以12的余数是地支。(公元前的年份则用58-“年份数除以60的余数”后计算)
也可以天干:年份÷10,得到的商不管,看余数,若余数-3得正,则按天干顺序往下数,得数即为天干顺序数,若余数-3为负,则+10,得到的数即为天干数,若余数为3,则为天干的最后一位,即癸。
地支:年份÷12,得到的商不管,看余数,若余数-3得正,则按地支顺序往下数,得数即为地支顺序数。若余数-3为负,则+12,得到的数即为地支顺序数,若余数为3,则为地支的最后一位,即亥。
把天干数和地支数合并起来,即为所求的干支年份。
如:2001年查万年历为辛巳年,算法为:
2001÷10=200……1,1—3=—2,—2+10=8,按天干顺序数到8,甲、乙、丙、丁、戊、己、庚、辛。第8位为辛。
2001÷12=166……9,9—3=6,按地支顺序数到6,子、丑、寅、卯、辰、巳。第6位为巳。
按照以上计算结果,把天干、地支合并起来可知,2001年为辛巳年。
▲
干支纪年与格里历的换算 若我们把天干的甲、乙、...、壬、癸编上 0、 ......、8、9 等序号;地支的子、丑、...、戌、亥亦编上 0、1、 ......、10、11 等序号,那么:
从已知的格里历年份计算干支纪年:年份数减4,除以10的余数是天干,除以12的余数是地支。例如:
(1972 - 4)÷ 10 ≡ 8,所以天干是“壬”;
(1972 - 4)÷12 ≡ 0,所以地支是“子”。
附:已知天干地支,如何得到当前是60年中的第几年 (杨霖坤 编程)。
X=天干 Y=地支
if x - y >= 0 then
z = 6x - 5y;
else
z = 6x - 5y + 60;