公歷轉農歷的演算法
Ⅰ 公歷農歷怎麼換算
我有一法:
先認識一下「天干序數」和「地支序數」:
天 干: 甲 乙 丙 丁 戊 己 庚 辛 壬 癸
天干序數: 1 2 3 4 5 6 7 8 9 10
地 支: 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
地支序數: 1 2 3 4 5 6 7 8 9 10 11 12
一、由甲子年推算公歷年
公式:(天干序數 - 地支序數)÷2×10 + 3 + 天干序數
上述得數再加任意一個60的倍數即可
例1:求丁丑年為公歷何年。
解:天干「丁」的序數是4,地支「丑」的序數是2,代入上述公式:
(4-2)÷2×10 + 3 + 4 = 17
答:公元後第一個丁丑年為公元17年,17加60的倍數的年份均為丁丑年(……公元77年、 137年、……1817年、1877年、1937年、1997年、2057年……)。
註:如果天干序數比地支序數小,則公式中的兩個天干序數要先加10。
例2:求甲午年的公歷年份。
解:天干「甲」序數為1,地支「午」序數為7。天干「甲」的序數小於地支「午」的序 數,故天干序數1要先加10:
(1+10-7)÷2×10 + 3 +(1+10)= 34
答:公元後第一個甲午年為公元34年,34加60的倍數的年份均為甲午年(……公元94年、 154年、……1834年、1894年、1954年、2014年、2074年)。
二、由公歷年推算干支年
公式:
取(公歷年數-3)的個位數作天乾的序數(個位數是0時看作10)
取(公歷年數-3)÷12 的余數作地支的序數(余數是0時看作12)
用兩個序數所對應的天乾和地支相配
例1:求2005年的甲子
2005-3 = 2002 ,取個位數2作天干序數,即「乙」
(2005-3)÷ 12 = 166 餘10,取余數10作地支序數,即「酉」
天干與地支配合為「乙酉」
答:2005年是乙酉年。
例2:求1983年的甲子
1983-3 = 1980 ,個位數是 0 ,看作10 ,10是天干「癸」的序數。
(1983-3)÷ 12 = 165 余數是 0 ,看作12 ,12是地支「亥」的序數。
天干與地支配合為「癸亥」
答:1983年為癸亥年。
Ⅱ 農歷和公歷如何換算
每到舊歷年行將結束的時候,家家戶戶都在辭舊迎新。這個時候總會特別關注農歷年和公歷年如何換算的問題。
我查了一下網路,有一個公式,就是公元年數先減去3,然後再除以10,它的余數就是天乾的次序。同樣減去3以後,再除以12,它的余數就是地支的次序。
舉個例子。1988年是農歷的什麼年?先把1988-3。得數是1985。再用1985÷10,它的余數是5。這是天乾的次序。十個天干,分別是甲乙丙丁戊己庚辛壬癸。第5個就是戊。1985÷12。它的余數也是5。這個5是地支的順序。十二地支分別是,子丑寅卯辰巳午未申酉戌亥。第5個就是辰。所得到了天乾地支兩個字連在一起,就是戊辰年,也是龍年。
我接著又提出了一個問題,為什麼公元紀年要減去3以後,再除以10或者12呢?原來農歷的甲子年,是六十甲子的第1年,換算成公歷是1804年,或者1924年,1984年。甲子年是公歷哪一年呢?公歷的紀年必須被60整除,然後再加上4,最後的公歷年份就相當於農歷的甲子年。而反過來推算,公歷年換算成農歷年就是減去3,因為甲子年本身是第1年。如果計算起來怕麻煩,那麼也可以查看對照表。