天干地支的算法
今年海南高考历史试题的第一题考了一道干支纪年法,问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来源于《简明天文学教程》 作 者: 余明 ;出版社: 科学出版社。后面一个是我自己想的。
下面一个网友的帖子有一个这样的计算方法,大家可以参考。网址是:http://www.5000han.com/bbs/thread-1258-1-1.html
(常识)天干地支的计算方法