读史书、看老黄历、查家族旧事,总会遇到甲午年、辛亥年这样的说法。手边没有对照表时,只要记住两组数字,就能在几秒钟内把公历年份换成干支。下面把这个方法拆开讲。
一、先记住两组编号
十个天干按序编号:甲零、乙一、丙二、丁三、戊四、己五、庚六、辛七、壬八、癸九。十二个地支也按序编号:子零、丑一、寅二、卯三、辰四、巳五、午六、未七、申八、酉九、戌十、亥十一。编号只是顺序,不需要记任何性质。
二、算法其实只有一步
用公历年份减去三,得到一个数。这个数除以十的余数对应天干,除以十二的余数对应地支。举例:一九八四年,减三得一九八一,除以十的余数是一,对应乙;除以十二的余数是九,对应子。所以一九八四年是乙子年,也就是甲子年,与常识相符。
三、再验一个陌生年份
用同样的办法算一九三一年:减三得一九二八,除以十余八,对应辛;除以十二余八,对应未。结果辛未年。查一下资料,一九三一年正是辛未年。多练三五个年份,基本就能脱稿心算,尤其是余数表熟悉之后。
四、注意年分界不在元旦
干支纪年跟着农历春节或节气走,公历一月出生的孩子,有时仍属上一年。历史上也有人以立春为界,两种做法并存。因此报生于一月初的人,不能只看公历年份,要注明按哪种口径换算,否则八字排出来会差一年。
五、常见的小误差
最容易错的两处:一是余数为零时写成零,其实对应甲或子,别写成零或漏写;二是负数年份,跨公元前后时要先处理符号,再用同一套余数规则。此外公元前与公元后的年份算法易混,非必要不必细究。
掌握这个办法之后,再回头看六十甲子的循环就不抽象了。年份每加一,天干与地支各进一位,六十年一循环,正好两个人隔代同柱的间隔。带着这条思路去读古籍注疏,会顺畅很多。













