📖 数字计量 📖 直接看详解

干支纪年是怎么算的?为什么六十年一轮而不是一百二十年?

难度 · 进阶 ★★★★ 📖 约 2157 字 · 6 分钟 📅 10月6日 16:27 放出
问 每日 50 问本站 当天第 28 / 50 道 · 👀 12 次阅读 看这一天的全部 →
✅ 直接答案

甲子乙丑海中金,丙寅丁卯炉中火。

💡 想自己推一推的话:十干配十二支,本该有一百二十种组合,实际上只有六十——想一想单数配单数、双数配双数这个限制。
解 本站详解原创撰写 📖 2157 字 · 约 6 分钟读完

照农历算,今年是丙午年,生肖属马。

这句话里藏着两套东西:一套是天干地支,一套是十二生肖。它们配在一处已经快两千年了,而我们几乎天天在用,却很少想过它们是怎么算出来的。

要说清楚,得先看看这套符号本身。

十天干:甲乙丙丁戊己庚辛壬癸。

十二地支:子丑寅卯辰巳午未申酉戌亥。

这两串字在甲骨文里就已经相当成熟。近人推测它们起意很早,可能与古人对日月的观察、或者与某种更古老的计数习惯有关,但究竟先有哪一个、当初取义是什么,学界至今没有定论——研究者各家有各家的说法,谁也没有说服谁。

相比之下,怎么配反而清楚得很。

配的办法是天干的第一位配上地支的第一位,同步往后走:甲子、乙丑、丙寅、丁卯……两边一起数,哪一串数完了,就从头再数一遍。

于是问题来了:十与十二的最小公倍数是六十。

照理说应该是甲配子、甲配丑、甲配寅一路配下去,一共一百二十种组合才对。可实际上只有六十种——因为我们说的配,不是这么轮着配的,而是两串同时往前滚动。甲子之后是乙丑,不是甲丑。

这个配对规则背后,还有一层更细的限制。

天干地支各自都要分阴阳。甲、丙、戊、庚、壬是阳干,乙、丁、己、辛、癸是阴干;子、寅、辰、午、申、戌是阳支,丑、卯、巳、未、酉、亥是阴支。相配的时候阳只配阳,阴只配阴,绝不混搭——所以甲子配得上,甲丑配不上。这样一来,理论上的一百二十种组合当场砍掉一半,恰好剩下六十。

这六十组就是所谓六十甲子,从甲子起,数到癸亥止,一年一组,六十年走完一圈,再从甲子开始。

六十年,正好是一个人从懂事到老去的长度。

古人对这个数字很有感情。人到六十称花甲之年,说的就是这一圈终于走完了;六十一岁又称还历之年,意为又从头走了一步。这些说法今天还在用,只是用的人未必知道它与最小公倍数有关。

这套符号最早被用来做的,其实是记日。

殷墟出土的甲骨片上,不止一次发现成篇的干支表——那多半是当时负责占卜的人用来查检日期的工具,一片刻六十组,从头到尾一字不差。可见在商代,天干地支已经是一套成熟的记日工具了。

更难得的是它的连续性。

一般认为,从春秋鲁隐公三年(公元前 720 年)二月己巳日那一天起,干支纪日就再没有断过——《春秋》记这一天有日食,而这个日期可以倒推核验。此后两千七百多年,每一天都有一个干支,从不重复核算,也从不调整。翻开清代人的日记,写着某月某日甲子,我们可以一路推算到今天。

纪年的情况则要晚得多。

先秦记年不这么记。那时候的办法是按某位国君在位第几年算——《春秋》开篇的「元年春王正月」,元年指的是鲁隐公的第一年。这种办法的好处是简明,坏处是一旦国内有变、或者同时有数国并立,年月就乱了。

干支被拿来纪年,则要等到东汉元和二年,也就是公元 85 年。那一年朝廷颁行了《四分历》,下令在全国推行干支纪年。从此这套六十轮转的符号,正式承担起了记年的差事。

有了纪年的干支,还要配上属相。

子鼠、丑牛、寅虎、卯兔、辰龙、巳蛇、午马、未羊、申猴、酉鸡、戌狗、亥猪——这十二个字今天人人会说,可它们的来历却颇有曲折。

秦代的睡虎地秦简里有一篇《日书》,已经出现了用十二种动物配十二地支来占盗的记载,虽然那时配上的动物与今天不尽相同,比如午配的是鹿而不是马。到了东汉,王充的《论衡》里已经有了相当完整的十二生肖。这中间几百年究竟怎么演变过来的,中间环节还缺着不少。

至于为什么偏偏选了这十二种动物,以及为什么鼠排在第一——这类问题历来解答很多,儿童科普书上讲得尤其热闹。老实说,大多属推测,聊作消遣可以,当真论据则不足。

真正有意思的问题是:生肖跟着哪一天换?

要算自己这一年的干支,办法其实只有三步。

把公元年份减去 3,得到的数分别除以 10 与 12。除 10 的余数对应天干的次序,1 是甲、2 是乙、3 是丙,一路数到 9 为壬,余 0 则为癸;除 12 的余数对应地支,1 是子、2 是丑、3 是寅,一路到 11 为戌,余 0 则为亥。

举个例子。今年是公元 2026 年,减 3 得 2023。2023 除以 10 余 3,天干是丙;除以 12 余 7,地支是午。合起来正是丙午。再回头验证 2024 年:减 3 得 2021,除以 10 余 1 是甲,除以 12 余 5 是辰,甲辰,属龙——翻开那一年的台历一对,分毫不差。

至于为什么要减 3,理由并不玄:公元 4 年恰好是甲子年,从这里往前推三步就是现行纪元的起点。这一个减号,把两套完全不同的年历接到了一处。

算法清楚了,可是界限这件事到今天仍有分歧。

按照传统的干支纪年,一年的起点应当是立春——节气属太阳历,立春才是太阳年真正的开头。照这个算法,立春之后出生的人就算新的一年。

但民间通行的算法要朴素得多:过了春节,也就是农历正月初一,才算换了属相。绝大多数人一辈子说的都是这一个算法。

于是麻烦就落在立春与春节之间出生的那批人身上。这段时间每年有十几天或二十几天,赶上的人问起自己的属相,两种算法会给出两种答案。二〇一七年起实施的农历编算国家标准采取了后一种立场,规定干支与生肖以正月初一为界;不过讲命理的书里摆着的,往往还是立春。

这类争执看着琐碎,其实正说明这套东西还活着。

一个从甲骨文里走出来的符号,先是用来记日,后来用来记年,配上了鼠牛虎兔,又配上春分冬至;它见过秦亡汉兴,见过唐诗宋词,如今挂在每一本台历的封面上。朝代换了多少遍,年号也早已不用了,干支却一年一组地转到了今天——大约正因为什么都不必证明,它反倒留了下来。

📜出处与依据公版古籍原文可引用
十天干、十二地支与六十甲子:《史记·律书》《汉书·律历志》有载;阳干配阳支、阴干配阴支故六十而非一百二十,见《五行大义》等历代历律之说;干支纪日:殷墟甲骨已见干支表,自《春秋》鲁隐公三年(前 720)二月己巳日食起连续不断,见《春秋》经文及历代历算校核;干支纪年通行自东汉元和二年(85)颁《四分历》,见《后汉书·律历志》;十二生肖:睡虎地秦简《日书·盗者》已有十二禽配地支(午配鹿),完整十二生肖见东汉王充《论衡·物势篇》《言毒篇》;「花甲」「还历」之年见民间寿俗;年号之制始于汉武帝建元元年(前 140),《汉书·武帝纪》颜师古注「自古帝王未有年号,始起于此」。

🔗 顺着这题往下看