农历计算方法
农历是阴阳合璧,既要算农历用的新月,也要算阳历用的节气。平齐和平朔最早用于农历,但平朔往往有一日误差,与日食验证更不一致。因此,发展经验法改为确定新月的方法。平气也有错误,但难以简单观察,且平气方法容易打破农历“立闰不中气”的原则,所以在清朝以前一直没有采用。直到现代历法的发展,基于精确和谐的要求,不得不再次修订规则。详见第三点。
所以要算农历,就要找出农历的朔,还要算出太阳和月亮的黄道。现代天文学使用行星历来计算天体的位置。Python有第三方库提供相关函数。以PyEphem库为例,本文提供的算法通过节气函数计算SolarTerms,而和顺则直接使用库中提供的next_newmoon函数计算节气。
农历一年固定十二个月,对应12中国气。如果有13个月,那么一定有1个月没有气,这就是闰月,所以有固定月序的气也是固定的。对应关系是:
确认了这种对应关系,我们就可以用参数I和J来记录组合的次数和气体序号。当一个月没有气时,对应的下个月的气序仍然是上个月的。
虽然现在的阴历以阴雨作为正月的气,但日历的一些规则和计算实际上是从冬季至日开始的,一年的第一个月是11月。简媜仅用于确定年度主分支的起始月份。因为历法的计算依赖于对天象的观测,特别是确定一年的长度需要测量同一节气相隔的天数,只有冬季的至日或夏季的至日可以通过比较前后几天的影子长度很容易地确定,历法的计算从这里开始。但为了与物候学相结合,方便农业生产和工作需要,在日常生活中把正月确定为雨中的呼吸作为中年的开始。
程序中的FindDZS函数处理查找一年的开始的问题。
两次冬至的间隔,回归年约为365.2422天,农历正月约为29.53059天,所以可能是12或13次。平衡气的时候,气的长度一定要大于一个新月,所以才会有一个月没有气。采用恒气法后,气长不固定,所以一年中有几个月没有中性气或一个月中有多个月有中性气,所以又规定了(序号越高优先级越高):(见注)
原文1:每个月判断是否有中气,如果没有中气就设闰。
增加2:仅设置从冬季至日月开始的第一个中性月。
补充3:如果新月在两个冬季至日月之间只有12次,就不会有闰。
是否设置闰的根本原则是保证一年的农历月序数等于12(中气数),大部分设置闰,从最后一个月开始,不足则不闰。具体分析见下表。
判断是否有中性气,即J月对应的中性气I在下个月或I在上个月且i+1气在j+1月。可以通过比较I气和i+1气与J和新月前后的历日来确定。但是我们可以发现一个性质,如果中气出现在上个月,那么从那个月开始的连词数一定等于运气数,所以不宜设置闰。所以我们只需要判断一个条件,就是中企I进入下个月j+1的时候可能会有一个飞跃。
(证明上个月中国的气合次数等于气数:设气长为U,新月长为V,有32 >;u≥v & gt;29、u-v & lt;2.8。设i+1有M气来自次年冬季至日* *,I+65438+10月有M月或m+1月来自次年冬季至日* *。由于冬季至日必然有中性气体,i+1气体必然在下雨或以后,所以0 ≤ m ≤ 650。益智VM < = um & ltvm + v .)
根据节气,一年必须有12个节气,所以它的茎枝序列每五年循环一次。直接根据树干和树枝的计算,方法是找出任意一个有大雪和节气的年份的树干和树枝,然后找出该年60的余数。如果用大雪把今年的树干和树枝去掉,就可以得到0年(公元前1)的树干和树枝,顺序是12,所以任意一年年初的树干和树枝都要加上当年的12,节气月份的树干和树枝都要加上节气的顺序。也可以考虑节气顺序与地支顺序相对应,所以可以用上述方法计算空中树干,然后拼接成树干分支。
方法一:从阳历判断(节目中使用的方法):
节气的日期在阳历中是相对固定的。由于每一年的节气数与公历的月数相同,所以每个月的节气也是确定的,只需要知道该月节气的日期。在每个月中,当天及之后的日期是节气的主分支,当天之前的日期的月分支是节气的前一分支。
但是阳历的长度并不完全等于回归年,现在的公历和回归年误差很小。但儒略历没有考虑岁差因素,导致节气与月份顺序对应关系的变化,需要处理。
方法二:按农历:
节气顺序对应地支,不对应月建,因为可能会有没有节气的月份,所以判断节气月份不能直接按照太阴月份顺序处理。
因为大雪在冬天至日之后不是固定的,我们可以在冬天开始寻找它。用平准法大致找出应在公历日期的节气,然后用恒气法对比实际节气,得出节气顺序,最后加上当年第一个节气的干、支。
一年的枝与枝的顺序是从该月的第一个月开始计算的(或根据节气从立春开始计算)。第一个月是冬季至日的第三个月,所以它实际上是为了比较公历转换的农历月份是否在银月之后,是否属于前一年。
计算年干支的方法和节气类似。如果得到0年(公元前1年)的树干和树枝,就可以知道任何一年的树干和树枝。(或者分支单独计算,庚申分别为6和8,分支数(10)和分支数(12)可以公历年分别计算)。
2033年,虽然有中性月,但是只有12个新月。为了保证一年有12个月,不是闰。
2034年有两个中性月,但由于新月不会超过13次,至少其中一个月不会闰,所以采用中性月先出现,闰在先的原则。注意,这个“第一”是从冬季的至日月开始的,而不是第一个月。
注:清代《诗仙志思稿》:“求闰月,前二年有冬至日之月。三月中旬积累的,随着没有中性气的月份,从上个月飞跃。一岁无气者,放在无气之月。”