[问卦] 公历、农历及纯阴历的原理

楼主: sdhws (sdhws)   2025-01-01 15:17:07
今天是元旦
所以来谈谈不同的历法规则
历法的种类大致分成三类
基于回归年设计的是阳历,可用来看季节变化
基于朔望月设计的是阴历,可用来看潮汐变化
结合回归年及朔望月的为阴阳历,可同时看季节及潮汐变化
阳历目前使用最广泛的是公历(格里历)
阴历最多人用的是伊斯兰历(回历)
阴阳历最多人被用的是农历(夏历)
以下分别简介各自的规则,以及我的一些想法
公历规则:
1.纪年:以古人误以为耶稣出生的那年为元年
2.元旦为冬至后十几天,为西元前46年的冬至后第一个新月(西元前45/1/1),并在日后
与朔望脱节,元旦的日子就被定下来了(冬至为黄道中较为易观察的日子,然而原本罗马
采阴阳合历,故不可能刚好以冬至为新年,所以采冬至后的新月为新年,并在凯萨将其转
原纯阳历后固定下来)
3.基本原理:黄道为地球公转时见到太阳在远方恒星投影之移动轨迹,太阳于黄道上走一
圈即为回归年
而黄道和天赤道会有两个交界处,当太阳在春天走到天赤道与黄道的交界处时为春分,从
一个春分到下一个春分即为一回归年,故一年为365或366天
至于如何观测黄道轨道,仅需在日出前及日落后观察日出、落点附近的星星即可
4.月份与朔望月或恒星月无关,仅为大致上的12等分,故4、6、9、11为30日
2月基于闰年与否为28~29日,其馂月份为31日
5.闰年规则:格里历制定时测定一年为365.2425日(实际值较为接近365.24219)
因此先四年一闰,使每四年误差0.03日,但四百年后会误差到三天,故若遇百年则不闰,
四百年又闰
伊斯兰历规则:
1.纪年:以穆罕默德率信众至麦地那那年为元年
2.初见眉月那天为每个月的初一,故和农历差1~2天
3.基本原理:以眉月出现再到眉月再次出现为一个月,同农历朔望月,月相循环十二次为
一年,一年354或355,与回归年或恒星年无关
4.因为平均朔望月接近为29.53日,故单数月为30日,双数月为29日,闰年时十二月为30

5.闰年规则:因为平均朔望月约为29.53天,因此平年每个月会差0.03天,一年会差0.36
天,近似30分之11天
等于若不置闰每30年会少11天,故30年11闰,至于确切闰年则置于年末会多出半天的那

例如,第一年会少0.36天,第二年就会少0.72天,0.72>0.50,因此该年置闰,置闰后会
多出0.28日,第三年末有会变成少0.08天,第四年少0.44天,第五年会少0.8天,因此第
五年置闰,以此类推
农历规则:
1.纪年:干支纪年
2.日月合朔为初一,故和伊斯兰历差1~2日
3.基本原理:每个月是朔望月,每一年接近回归年,故闰年时要加上一个闰月,故一年为
354~385之间
4.农历大小月不固定,也没有固定的计算方式,因为农历的月份采定朔的模式,也就是不
论如何,每个月的初一必定是日月合朔,技术上并没有像前述回历那种固定的算法,因为
固定的算法迟早会出现误差,所以实务上是由天文台或气象局每隔一段时间经过天文观测
后发布新版农历,因此在新版农历再发布之前是无法得知尚未发布的年份的大小月有哪

5.每个回归年,或从春分到春分之间的时间同样是由天文台单位计算并不断地更新与发布
,并确保每个节气太阳在固定的黄道位置上,此谓之定气,因此没有向公历那种固定的算

6.闰年:为了调和朔望月和回归年,因此每次置闰为新增一个月
闰年和闰月的决定规则如下
春季太阳于黄道与天赤道交界处时为春分
从上个春分到下个春分为一个回归年,期间分成24段,为二十四节气
因此每月理应有两个节气,第二个节气为中气,但因为平年和回归年大约会出现11天的差

一段时间后会出现某个月没有中气的情况,则该年为闰年,无中气者后加闰月
若该年不只一个月无中气,则闰第一个无中气的月份
另外一回归年约365.24219天
一朔望月约29.530588天,平年平均约354.367056天,因此19年后
回归年365.242190天*19=6939.596100天
阴历年354.367056天*19=6732.974064天
6939.596100天-6732.974064天=206.622036天
206.522036/29.530588≒7
故19年7闰
但是要注意,19年7闰不是置闰的规则,而是短期观察的现象,长期来看并不适用,否则
245年后会出现1天的误差,长远来看更接近4103年1511闰
总之实际闰年时间是由天文台/气象局不断测算、更新、发布的结果,而无特定计算公式
以上是我对三种历法的规则介绍
发文的日期依照这三种历法为:
公历 2025年 1月 1日
伊斯兰历 1446年 7月 1日
农历 甲辰年 腊月 初二
另外补充这三种历法的误差:
公历:公历测定每年时间为365.2425,而实际年更接近365.24219
因此365.24250-365.24219=0.00031
1/0.00031≒3225.80645
所以误差值为第3226年会多一天
伊斯兰历:伊斯兰历每30年的天数等于29.5*12*30+11=10631.00
而实际三十个阴历年更接近29.530588*12*30=10631.01168
所以每三十年会少10631.01168-10631=0.01168
1/0.01168≒85.61643,即每85.61643个30年,也就是第2569个伊斯兰历年会少一天
农历:基于二十四节气为两个春分的间隔时间,即一个回归年,故先默认一个二十四节气
的循环为365.24219天
365.24219*19=6939.60161
假设朔望月的计算方式像回历一样(其实不是),则平均每个月约为29.53055天
基于十九年七润的原则,因此每十九年会有235个月,为6939.67925天
十九年差6939.60161-6939.67925=-0.07764天
1/0.07764≒12.87995,即每12.87995个19年会多一天
12.8799*19=244.719216,因此农历年245年后会相对于回归年多一天
但万幸的是农历具体闰年的时间是由气象局/天文台依现代天文的成果计算出来的
并且每隔一段时间就会进行更新,所以这种误差不存在
结论:
公历误差为第3226公历年多一天
伊斯兰历为第2569回历年少一天
农历闰年是通过天文台/气象局定期计算更新的结果,故无这类误差
承接前一篇关于三种历法的介绍
下面说说三种历法的计算年龄的方法
公历:出生时零岁,每年生日加一岁(实岁)
农历:出生时一岁,之后每年正月初一加一岁(虚岁)
回历:出生时为零岁,之后每年生日加一岁
考虑到回历一年的时间会比公历少10~12天
所以每年生日会比公立提前10~12天
公立33岁之后两者会差一岁,66岁差两岁,以此类推
所以各种历法的年龄换算方法如下
1.农历岁数(虚岁):以公历生日与正月初一为两个分界点
若在正月初一之后,公历生日之前,则比公历年龄(实岁)大两岁
反之则大一岁
2.回历岁数:以公历生日及回历生日为分界点
在33岁之前,回历生日到公历生日期间,回历生日比公历生日大一岁
反之则相同
到33~66岁之间,则分别为大两岁及大一岁
66~99岁之间,分别为大三岁及大两岁
后面以此类推
因在特定时段三种历法会同时分别给出三种不同的年纪
例如在公历20岁时
若回历生日出现在农历正月初一和公历生日之间
则在回历生日到公历生日这段期间会有三个不同的年龄
分别为公历20岁(实岁)、回历21岁、农历22岁(虚岁)

Links booklink

Contact Us: admin [ a t ] ucptt.com