当前位置:首页 » 操作系统 » 公历转农历的算法

公历转农历的算法

发布时间: 2023-09-16 22:26:08

Ⅰ 公历农历怎么换算

我有一法:

先认识一下“天干序数”和“地支序数”:

天 干: 甲 乙 丙 丁 戊 己 庚 辛 壬 癸
天干序数: 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年。如果计算起来怕麻烦,那么也可以查看对照表。

热点内容
apache和php7 发布:2025-01-24 14:32:26 浏览:891
linuxio文件 发布:2025-01-24 13:40:21 浏览:437
在excel设密码如何取消 发布:2025-01-24 13:38:54 浏览:482
电脑装存储时不能开机 发布:2025-01-24 13:38:52 浏览:284
2000人同时在线的小程序需要什么服务器 发布:2025-01-24 13:37:17 浏览:852
怎么搭建linux服务器配置 发布:2025-01-24 13:37:16 浏览:112
安卓版什么时候上线麻将模式 发布:2025-01-24 13:32:48 浏览:965
算法实验分析 发布:2025-01-24 13:20:25 浏览:137
安卓和ios步数哪个准确 发布:2025-01-24 13:12:13 浏览:290
怎么给电脑换配置 发布:2025-01-24 13:04:04 浏览:922