周易预测

周易预测中心

周易教学

周易教学中心

公众号

关注易经在线

位置: 首页 > 易学符号 > 干支历法

干支历法换算 《公元与干支相互换算的新方法》

佚名 06-17

干支历法换算 《公元与干支相互换算的新方法》

公元与干支相互换算的新方法杨哲峰/ 北京大学考古文博院1991 年秋冬作为北京大学青年教师“下乡”队伍中的一员我来到山西省曲沃县锻炼曾在曲沃二中为文科班学生讲过几节历史课。当时我接到系领导的安排准备于次年返校后讲授中国历史文选课。在乡下备课期间感到国内出版的《中国历史纪年表》一类书中所附的“公元甲子检查表”线条过于复杂不便于初学者掌握和运用。于是我便试图找出一种更简便的换算方法。经过一段时间的琢磨在 12 月份的某一天总算推出来一个自以为还算简单的方法回到北大后曾在课堂上多次为学生讲解。1998 年春在瑞典斯德哥尔摩大学东方学院的一次题为 “中国古代的时间概念” 的讲座上 我也曾将有关方法介绍给瑞典的汉学家们。当时在座的罗多弼 Loden教授曾建议我尽快发表但我自己觉得在数学表达方法上还有不足之处。现在把这些不成熟的想法提出来敬希指正。一、由公元推干支 为了便于运算和使检索更加直观我借用六十干支表并按顺序加以编号成表一如下 表一六十干支表甲子 0 乙丑 1 丙寅 2 丁卯 3 戊辰 4 己巳 5 庚午 6 辛未 7 壬申 8 癸酉 9 甲戌 10 乙亥 11 丙子 12 丁丑 13 戊寅 14 己卯 15 庚辰 16 辛巳 17 壬午 18 癸未 19 甲申 20 乙酉 21 丙戌 22 丁亥 23 戊子 24 己丑 25 庚寅 26 辛卯 27 壬辰 28 癸巳 29 甲午 30 乙未 31 丙申 32 丁酉 33 戊戌 34 己亥 35 庚子 36 辛丑 37 壬寅 38 癸卯 39 甲辰 40 乙巳 41 丙午 42 丁未 43 戊申 44 己酉 45 庚戌 46 辛亥 47 壬子 48 癸丑 49 甲寅 50 乙卯 51 丙辰 52 丁巳 53 戊午 54 己未 55 庚申 56 辛酉 57 壬戌 58 癸亥 59该表于公元前后的推算均适用具体的方法如下 1求公元后某年设为 Y的干支。

方法是先以 Y 除以 60 得出余数然后再减去 4最后根据所得结果查表一中相应序数所对应的干支即为该年的干支。 例如求公元 1911 年的干支1911÷60 余数为 51减 4 后得 47查表一 47 对应的干支是辛亥即 1911 年为辛亥年。由于干支纪年 60 年一循环当 Y÷60 的余数小于 4 时需借干支纪年的一个周期 60 之数例如 1981 年除以 60 余数为 1直接减 4 不够减加上 60 之后再减 4 等于 57查表一便知 1981 年为辛酉年。余可类推。 2求公元前某年设为 X的干支。方法是先以 X 除以 60 求其余数再用 57 减去所得余数根据所得结果再查表一中对应的干支即为该年的干支。 例如求公元前 221 年的干支221÷60余数是 41以 574116上述方法简便易行只要记住表一就完全可以不用纸笔直接由心算推出结果。 此外由于六十甲子是由十天干和十二地支依次搭配而成十天干按顺序循环使用。也就是说在干支纪年中同一天干每十年出现一次而公元纪年年数采用十进位制。由此推知某天干必然和公元年份某一固定的尾数个位数相对应于是得出十天干与公元纪年的个位数对照表如下表二 表二十天干与公元纪年个位数对照表0 9 8 7 6 5 4 3 2 1 公元前 辛 壬 癸 甲 乙 丙 丁 戊 己 庚公元 1 2 3 4 5 6 7 8 9 0根据表二凡公元某年个位数为 7其对应的天干必为丁若个位数是 3则对应天干是癸余类推凡公元前某年个位数为 7其对应的天干必为甲若个位数是 3则对应天干是戊余类推。

换句话说凡干支纪年称甲某年如甲子、甲寅的其对应的公元纪年的个位数必为 4若是公元前则应为 7其余参照表二类推。 该表二的优点是可以直接用来检查前述由公元推算干支的结果中尾数是否正确当然也可以与地支配合直接用于换算。其依据是由于地支数目为十二在六十干支纪年中地支的循环周期就是十二年。我国古代还有把每个地支分别与某个动物联系在一起的习惯这就是通常所说的十二属相。既然在干支纪年中十二地支是循环使用那么在将公元纪年与干支纪年相对应时十二进位的地支与十进位的公元之间仍可以找到一种余数的对应关系。这种余数对应关系可以表述为 无论是公元前还是公元后的任意年份 如果在除以 12 后所得余数相同其分别对应的地支也就应该相同。具体的对应如下表表三 十二地支与余数对应表酉 申 未 午 巳 辰 卯 寅 丑 子 亥 戌 公元前0 1 2 3 4 5 6 7 8 9 10 11 公元 申 酉 戌 亥 子 丑 寅 卯 辰 巳 午 未也就是说公元后任意一年如果除以 12 后余数为 3则该年地支必是亥若是公元前某年除以 12 的余数为 3其对应的地支则是午。若某年能被 12 整除则对应的公元前、公元后的地支分别是酉、申。

其余均可参照表三类推。 这样一来如果觉得表一难以记忆的话也可通过表二和表三分别推出公元前后任意一年的天干和地支。只要记住表二和表三由公元推干支的问题也同样值得注意的有两点第一众所周知完整的六十干支表早在殷商甲骨文中就已出现通常认为六十干支在当时已用于纪日 但这并不等于那时已用于纪年。 文献所见我国古代曾采用多种纪年方法 如岁星纪年、以王公在位的年次纪年等。著名的《春秋》一书就是以鲁国国君在位的时间纪年。真正以政府诏令的形式规定采用干支纪年已是东汉时候的事情了距今还不足二千年。现在我们看到的各种历谱中在实行干支纪年以前的某年干支均为后人推算所加。第二由于我国古代的历法属于阴阳合历按照传统历法制定的年历长度和现行公历即格里高利历 及其前身罗马的儒略历 之年历长度并不相同因此有关公元与干支两种纪年的换算说公元某年相当于某干支年都只是一种大致的对应而已正如现在每年公历的元旦与农历的大年初一总是难以重合一样这一点也是应该说明的。二、由干支推公元 如前所述由公元推干支往往只有一个结果即公元前后某年相当于某干支年。

然而由干支推公元情况就不同了。以前汤有恩编的《公元干支推算表》 文物出版社 1961 年中由干支推算公元部分实际上是逐年排列谈不上是“推算” 。到目前为止笔者也未看到真正采用数学公式进行推算的方法。 根据自己的研究笔者发现尽管干支纪年 60 年一循环但只要有一定的时间范围作为参照由干支推公元的问题也是可以解决的。现假设这一参照系为 C代表公元任意一个世纪。如果是求公元二十世纪的某干支年则 C20余类推。 设 100C1÷60 的余数为 N则 Nmod[100(C-1),60] 若所求干支在表一中对应的序数为 P 则求公元某世纪 C 的某干支年对应于表一中的序数为 P的公式可表述为 100(C-1)+{P-[N-4]}+30{1-sgn[P-(N-4)]} 试举例说明 例 1若求公元二十世纪的己亥年则 C20P35查表一知己亥对应序数为 35 。首先由 C20 算出 Nmod[100(C-1)干支历法换算干支历法换算干支历法换算,60]的值为 40即 100201÷60 的余数 N 为 40然后将 C、P、N 的值代入上述公式即 100(C-1)+{P-[N-4]}+30{1-sgn[P-(N-4)]} 1900{35-[40-4]}+30{1-sgn[35-(40-4)]} =1900-1+60 =1959 也就是说二十世纪的己亥年为 1959 年。

例 2求公元十九世纪C19的甲午年查表一知 P 为 30 。首先由 C19 算出 Nmod[100(C-1),60]的值为 0即 100C1÷60 的余数 N 为 0然后将 C、P、N 的值代入上述公式即 100(C-1)+{P-[N-4]}+30{1-sgn[P-(N-4)]} 100(19-1)+{30-[0-4]}+30{1-sgn[30-(0-4)]} =1800+34+0 =1834 也就是说十九世纪的甲午年为 1834 年。在此需特别提醒的是 由于一个世纪等于 100 年 大于干上述公式对借一甲 60 之数的弥补采用的是符号函数因此只适用于当{P-[N-4]}的值大于或小于 0 时。如果{P-[N-4]}正好等于 0则情况比较特殊。好在其出现频率很低每 300 年中只有 2 次即当 C=3KK 为正整数时的庚辰年或当 C=3K+2K 为正整数或 0时的庚子年且必为该世纪的第 60 年本文以 “世纪年” 作为一个世纪的结尾 。 当然 也可以采用自定义的办法 将上述公式改写成 100C-1+[P-N-4]+60f{[P-(N-4)}设 f{[P-(N-4)]}={ 0 若[P-(N-4)]> 0 1 若[P-(N-4)]< =0 如果不用上述公式进行运算 也可采用较为简易的心算。

如上述例 1 求公元二十世纪 C20的己亥年P35的推算可表述为以下步骤 第一步由 C20 算出 100C1÷60 的余数 N 为 40 第二步算出 N4 的结果等于 36注意:若不够减时需借 60  第三步用干支己亥对应于表一中的序数P35减去第二步所得的值 36求出其结果等于 59同样不够减时需借 60  最后用 59 加上 100C1 得出二十世纪的己亥年为 1959 年。上述由干支推算公元的方法可运用于历史时期的考古学研究。尤其是在野外考察时对于有干支纪年的文物在根据文物本身的特征推断出大致时代的情况下可运用上述方法得出较为确切的年份而无须借助任何历史纪年表。在对于两个以上不同干支纪年的历史文物进行比较时上述方法更有帮助。 至于公元前某世纪的某干支年也可以用类似方法推导出来只是具体推算略有不同。由于我国干支纪年主要是公元后的事情对公元前干支的推算本文暂从略。

文章来源:易经在线