Thursday, October 15, 2009

天干地支算法

算法1:

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.癸亥

干支纪年法 如甲子为第一年,乙丑为第二年,丙寅为第三年……六十年为一周。一周完了,再由甲子年起,周而始,循环下去。例如1929年是农历己巳年,1930年是农历庚午年……到1989年又是农历己巳年。我们在日历上看到的己巳年、庚午年,就是按干支纪年这种方法排列下来的。阳历年份除以60的余数减3便得该年农历干支序号数,再查上面的干支便是干支年纪。如果序号数小于、等于零则于支序号数加60。例如,求1991年干支;1991÷60=33余11,年干支序号数=11-3=8。查干支表知该年为辛未年。又如求1983年干支:1983÷60=33余3,干支序号=3-3=0,加上60,查干支表知该年为癸亥。

算法2:

农历年份用干支纪年。十天干和十二地支互相配合,构成六十甲子,每60年循环一次,周而复始。 十天干的顺序和代码是:甲(4)、乙(5)、丙(6)、丁(7)、戊(8)、己(9)、庚(0)、辛(1)、壬(2)、癸(3)。 十二地支的顺序和代码是:子(4)、丑(5)、寅(6)、卯(7)、辰(8)、巳(9)、午(10)、未(11)、申(0)、酉(1)、戌(2)、亥(3)。
由公历年份的个位数作代码的天干即是该年的天干,用公历年份除以12所得余数(可用电脑上计算器科学型中的Mod计算)作代码的地支即是该年的地支。 如今年(2007)年,7代表的天干是丁,2007除以12余3,代表的地支是亥,即可算出今年是丁亥年。

No comments: