公元與干支紀年換演算法

                                                         公 元 與 干 支 紀 年 換 算 法                                        (根據網上資料綜合編寫)

    (一)、利用天干、地支序數推算公元年份的干支紀年              1、天干序數表                            

 天干  甲  乙  丙  丁  戊  己  庚  辛  壬  癸
 序數  1  2  3  4  5  6  7  8  9  10(0)

                   2、地支序數表

 地支  子  丑  寅  卯  辰 巳  午   未 申   酉  戌 亥 
 序數  1  2  3  4  5  6  9  10  11  12(0)

                    3、推算公式                          (1)、(公元紀年-3)/10  其餘數R1 為天干序數                          (2)、 (公元紀年-3)/12 其餘數R2 為地支序數                          (3)、 (公元紀年-3)/60 余R ,R/10餘x   為天干序數                                                                                       R/12餘y   為地支序數(這裡的餘數為正整數,下同)                  4、舉例:推算辛亥革命1911年的干支紀年                         按公式(1)、(2): (1911-3)/10        R1=8           天干為辛                                                                   (1911-3)/12        R2=0           地支為亥                                                                                                                                          故1911年為辛亥年                          按公式(3):     (1911-3)/60     R=48     48/10=8      天干為辛                                                                                                        48/12=0      地支為亥                                                                                                                                                    故1911年為辛亥年                                   【注】當公元紀年小於10、12、60時,公式(1)改為 (公元紀年+60-3)/10                                                                                                                 (2)改為 (公元紀年+60-3)/12                                                                                                                  (3)改為 (公元紀年+60-3)/60

    (二)、利用60花甲序數推算公元年份的干支紀年                      1、60花甲順序表

 1  甲子  11  甲戌  21  甲申  31  甲午  41  甲辰 51 甲寅 
 2  乙丑  12  乙亥  22 乙酉   32  乙未  42  乙巳  52  乙卯
 3  丙寅 13   丙子  23 丙戌   33  丙申  43  丙午  53  丙辰
 4  丁卯  14  丁丑 24   丁亥  34  丁酉  44  丁未  54  丁巳
 5  戊辰  15  戊寅 25   戊子 35  戊戌  45  戊申  55  戊午
 6  己巳  16  己卯  26  己丑  36  己亥  46  己酉  56  己未
 7  庚午   17  庚辰  27  庚寅 37   庚子  47  庚戌  57  庚申
 8  辛未  18  辛巳  28  辛卯  38  辛丑 48   辛亥 58   辛酉
 9  壬申  19  壬午  29  壬辰  39  壬寅  49  壬子  59  壬戌
 10  癸酉  20  癸未  30  癸巳  40  癸卯  50  癸丑  60  癸亥

                                                                               2、推算公式:公元後的公式  (1)、公元紀年/60  余R ,(R-3)為花甲序號的干支。                                                                       (2)、(公元紀年-3)/60餘數  R     即為花甲序號的干支。                                              公元前的公式 (3)、(公元紀年+3)/60 余R,(60-R)為花甲序數干支。                   3、舉例:(1)、推算公元1911年的干支紀年                                                按公式(1)有 1911/60   R=51        51-3=48           查表48為辛亥年。                                                            (2)有(1911-3)/60    R=48       查表48為辛亥年。                                      (2)、推算公元前246年(秦始皇執政)的干支紀年                                                 按公式(3)有 (246+3)/60  R=9,    61-9=52      查表52為乙卯年。

    (三)、利用公元紀年的餘數推算公元紀年的干支紀年                      1、天干餘數表 

 公元後  甲  乙  丙  丁  己  庚  辛 壬  癸 
 餘數  4  5  6  7  8  9  0  1  2  3
 公元前  丁  丙  乙  甲  癸  壬  辛  庚  己  戊

                                             2、地支餘數表

 公元後  丑  寅 卯   辰  巳  午  未  申  酉 戌   亥
 餘數  4  5  6  7  8  9  10  11  0  1  2  3
 公元前  巳  辰  卯  寅  丑  子  亥  戌  酉  申  未  午

                       3、推算公式:(1)公元紀年/10的餘數  為對應天乾的餘數                                                  (2)公元紀年/12的餘數  為對應地支的餘數

                       4、推算方法:以1911年為例。 1911/10  餘數=1(天干) 對應餘數1為辛                                                                               1911/12  餘數=3 (地支) 對應餘數3為亥                                                                                                                                      故1911年為辛亥年。                                                 查公元前246年     246/10 餘數=6(天干)  對應餘數6 為乙                                                                                 246/12 餘數=6(地支)  對應餘數6 為卯                                                                                                                                   故公元前246年為乙卯年。                       5、推論:                                  (1)、  在已知干支紀年(公元紀年)的基礎上,求得下一個(或上一個)紀年,只需 在此年份上加60(或減60)即可。如1911(辛亥)年,下一個辛亥年即1911+60=1971年。而上一個 辛亥年即1911-60=1851年。                                   (2)、查臨近的地支年份只需在該年份上加(或減)12即可。這裡要注意的是,天干、地支是分陰陽的,而搭配是按陽配陽、陰配陰的順序排列的,如甲子、乙丑、丙寅.......等等。甲、丙、戊、  庚、寅 為陽干;乙、丁、己、辛、癸為陰乾。子、寅、辰、午、申、戌為陽支,丑、卯、巳、未、酉、亥 為陰支。那麼推論(2)所得的地支應配的天干按下表順序

 陽干  丙  戊  庚  壬  甲
 陰乾  丁  己  辛  癸  乙

                如  1911年為辛亥年,那麼下一個豬年就是1911+12=1923年,取辛下一個「 癸」  即癸亥年。上一個豬年 即1911-12=1899年  應是己亥年。          那麼臨近幾年的干支如何確定?按干支自然順序 向上推按逆向,向下推按順序,如1911年是辛亥年, 那麼1910年便是庚戌年,1912年便是壬子年。以此類推。

      (四)、以干支紀年推算公元紀年年份                干支紀年是60年一循環,所以同樣的干支紀年在公元紀年裡會有許多個相同年份。推算起來比較繁瑣, 需要估計大概的年代。                   (1)、利用(三)餘數表推算:以辛亥年為例                                   天干餘數為1,地支餘數為3,那麼公元後最早的辛亥年應該滿足  10x+1=12y+3 的條件。因 為是不定方程,試算如下

   y=  1  2  3  4  5  6
 12y+3=  15  27  39  51  63  75

                  可見同時滿足天干尾數1的只有51.。就是說公元51年是辛亥年。再按推論(1)可列出1851、  1911、 1971------,而辛亥革命發生在20世紀初,那麼只能是1911年。                    (2)、利用(二)花甲序數推算:還以辛亥革命為例                  根據公式(1)可知,在花甲序數加3,就是公元最早的干支紀年。如辛亥序數為48  ,  48+3=51    那麼公元51年就是辛亥年。再按推論(1),可知辛亥革命發生在1911年。                  再如甲午年,甲午序數為31,最早公元紀年是31+3=34,19世紀以後的甲午年可有 1834、1894、   1954、 2014------等等。那麼 發生在19世紀末20世紀初的甲午戰爭應該是1894年。明年2014也是甲午年。                                       .

   


推薦閱讀:

干支垂象斷事要訣
干支紀年法 整編/陳益峰
干支合化、刑衝剋害
論干支五行宜忌

TAG:演算法 | 干支 | 算法 |