干支纪年的基本构造
读史遇到历史文化里的年份标注,常见两种:一种是年号加数字,一种是干支。干支纪年换算成公元,是读史的一项基本功。天干十个:甲乙丙丁戊己庚辛壬癸。地支十二个:子丑寅卯辰巳午未申酉戌亥。天干地支依次相配,甲子、乙丑、丙寅这样排下去,配到癸酉之后天干用尽,再从甲开始配戌,如此交替,共得六十组,称为六十甲子。所以干支纪年是六十年一循环。六十年一循环,意味着单凭一个干支无法确定唯一公元年份,必须借助上下文。换算的关键就在这里:不是套公式,而是先定锚点,再算差值。
甲子年与公元年怎么对应
换算最常用的锚点是甲子年。近现代的甲子年有1864年、1924年、1984年、2044年。知道了哪一年是甲子,其余年份按六十循环往前推或往后推即可。推法很简单:先用目标公元年与锚点相减,取模六十,得到的余数就是它在六十甲子里的序位;序位一到六十,分别对应甲子到癸亥。另一种常用算法是以公元四年为甲子年起算,用目标年份减四,再除以六十取余数,余数对应六十甲子的序位。两种办法结果一致,选一种用熟即可。用的时候注意,算出来的是序位,序位对应哪个干支要按表查,不要凭印象。
实操的换算次序
拿到一个干支年份,按四步走。第一步看上下文找锚点,比如同段文字里的年号、在位君主、已知事件。第二步以锚点为基准,按六十循环列出可能的公元年份,通常两三个。第三步用同期的重大事件核对,比如某年确有战事、某年确有改制。第四步确认纪年起点,因为干支年在传统上多从立春或正月起算,跨年时会有月份上的差别。
- 先找锚点:年号、君主、已知事件。
- 按六十循环列出候选公元年份。
- 用同期大事互证,排除不合年份。
- 确认起算点,注意立春前后的跨年差异。
为什么不能直接套公式
公式能算序位,却解决不了三个问题。一是同一个干支在几百年里反复出现,公式给出的是序位而非年份。二是历史上改元频繁,同一公元年可能对应两个年号,文献记录的年份未必与公元年严丝合缝。三是分裂时期各地奉行的正朔不同,同一干支在不同政权下的公元年份可能相差一年。因此读史时的稳妥做法是两套纪年互证,而不是单线换算。年号给出大致的公元区间,干支把范围收窄到具体年份,再用事件做最后核对。三步都过了,时间线才不容易错位。
纪年起点与岁首的差别
值得单独说的一层:干支年的起点在不同时代并不一致。有的按立春算,有的按正月朔日算,有的朝代以十月为岁首。这些差别在跨年的时候会造成一年的出入。读史时若发现两处记载相差一年,先别急着说哪一处错,很可能是起点不同。
常见误区
误区之一是拿六十直接乘除,忽略序位与年份的差别。误区之二是以为干支年份全球统一,忽略了政权与地域差。误区之三是把年号纪年的月份直接当公元月份,未注意古人月份的标注方式。误区之四是只看干支不看月日,忽略了某些干支出现在同一年内的两个位置。还有一种误区是把文学作品的干支当真。小说、诗文中出现的干支未必与史实对应,引用时要分清文学与史料。
读史时的验证办法
验证的办法有三条。一是横向对照,用同一时期的不同文献互校。二是纵向对照,用前后相承的事件排成时间线,看有无冲突。三是借助工具书与历表,把干支日与公历日对应起来核查细节。三条里最有用的是第二条,把事件排成线,错位往往一眼就看出。
史料里的干支还管月份
干支不只用来纪年,也用来纪月、纪日。读史时看到"甲子月""庚申日"这类标注,不必换算成公元,但要把它与年号、季节对照,判断事件发生在一年中的哪一段。古人记月多以干支配月份,同一干支月在不同朝代对应的公历月份并不相同,核对时最好以当时的历法为准,不要用后世的规则套用。换算年份时还有一个实用的经验:先按上下文写出两三个候选公元年,再挑其中有确切大事的那个。若三个候选年都能找到相应的大事,说明这一段记载本身有分歧,需要回去核对版本,而不是硬选一个。
结语
干支换算不复杂,难的是保持两条线并行:一条是干支的六十年循环,一条是公元的线性纪年。读史时让两条线互相校正,时间线就稳了。遇到说不通的地方,先怀疑换算起点的差异,再怀疑记载本身,次序不要颠倒。













