天干地支的算法今年海南高考历史试题的第一题考了一道干支纪年法,问 1900 年八国联军侵华应该是什么年(用干支表示)题目如下: 1.中国古代以干支纪年,天干是“甲、乙、丙、丁、戊、己、庚、辛、壬、癸” ,地支是“子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥” 甲午战争发生于 1894 年,八国联军侵华的 1900 年应是( )A. 己亥年 B. 庚子年 C. 辛丑年 D 壬寅年首先我们先要明白天干与地支是如何搭配的天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥 十天干与十二地支按顺序两两相配,从甲子到癸亥,共六十个组合,即六十甲子 ( 10 与 12 的最小公倍数是 60)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 60 壬子 癸丑 甲寅 乙卯 丙辰 丁巳 戊午 己未 庚申 辛酉 壬戌 癸亥序号 1 2 3 4 5 6 7 8 9 10 天干 甲 乙 丙 丁 戊 己 庚 申 壬 癸序号 1 2 3 4 5 6 7 8 9 10 11 12 地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥1894 年是甲午年,那么 1895 年的天干是乙,依此类推, 1900 年的天干就是 庚 ;同样, 1894 年的地支是午, 1900 年的地支就是 子 ;所以 1900 年是 庚子 年。
如果大家还想到 1901 年八国联军胁迫清政府签订了《辛丑条约》,就是 1901 年是辛丑年,那么天干与地支的序号都往前推一下,也可以推出来 1900 年是庚子年 ( 《辛丑条约》中的所涉及的赔款 ,因为是针对 1900 年 (庚子年 )的义和团运动而规定,所以也叫庚子赔款 )如果没有告诉你相邻的某个年份是什么年,那么又怎样推算呢?比如, 1861 年用干支纪年应是? 1984 年用干支纪年应是?这里有一个计算的公式: N=X-3-60m(0≦ N﹤ 60,m 是一个自然数 ) N是 60 个干支的序号,比如 N=1时就是甲子, X就是公元某某年那么按照这个公式, 1861 年的序号就是: 1860-3-60m, 那么就取 m=29,这样 N=58,如果取 m=30的话, N=-2,这时就要加 60,也就是说 0≦N﹤ 60, 如果 N=0,那么就是第 60 个干支现在知道与 1861 年对应干支是第 58 个,但是如果没有上面那个表格可供查阅,怎么办呢?我们知道天干是 10 个, 地支是 12 个, 10 天干与 12 地支按顺序两两相配,那么第 58 号对应的天干的序号应是 58÷ 10 的余数,余数是 8,第八个天干是申;同样,第 58 号对应的地支的序号是 58÷ 12 的余数,余数是 10,第十个地支是酉,所以 1861 年是农历辛酉年。
所以天干的序号 A=mod(N,10), 地支的序号 B= mod(N,12) ( 大家就是对于 m应该取多少,不用去想,很简单,就像小学生列除法算式一样, N-3 那个数除以 60, 所得的商数就是 m, 余数就是 N) 注意:这里的公式只适用于公元后的年份公元前的计算公式应是 N=X-2-60m, (因为公元前 1 年后就是公元元年也就是公元 1 年,没有公元 0 年), (X 就是一个负数了, m也取负数 )不过不知道这个公式是否准确 前面的公式 N=X-3-60m来源于 《简明天文学教程》 作 者 : 余明 ;出版社 : 科学出版社 后面一个是我自己想的下面一个网友的帖子有一个这样的计算方法, 大家可以参考 网址是: (常识)天干地支的计算方法一 . 西元后的 : 天干:甲4 乙5 丙6 丁7 戊8 己9 庚0 辛1 壬2癸3如 1894 年末尾一个数是 4 就甲年 , 依此类推地支: 子4 丑5 寅6 卯7 辰8 巳9 午10 未11 申0 酉1 戌2 亥3换算: 1894 除以12,余数是几,就在地支中找几.二 . 西元前的 : 天干:甲 7 乙 6 丙 5 丁 4 戊 3 己 2 庚 1 辛 0 壬 9 癸 8 如公元前 7 年就是甲年依此类推地支:子 -9 丑 -8 寅 -7 卯 -6 辰 -5 巳 -4 午 -3 未 -2 申 -1 酉 0 戌 -11 亥 -10 换算: 如公元前 221 年 ,-221 除以12, 余数是几, 就在地支中找几 . 。