什么是定气定朔?计算农历需要注意什么?

什么是定气定朔?计算农历需要注意什么?

计算示例:

一、定气定朔

农历是一种阴阳合历,故而计算农历既需计算阴历使用的合朔,也要计算阳历使用的节气。农历最早使用平气和平朔,但平朔常有一日误差,以日食校验多不合。所以经历法发展改用定朔法。平气也有误差,但难以简单观察到,并且定气法容易打破农历“无中气置闰”的原则,所以在清代以前一直未得采用。直至近代历法发展,基于对精度及合天的要求,不得不重新改定规则。具体见第三点。

所以计算农历需要先找出气朔,计算气朔则需计算太阳和月亮的黄经,现代天文学使用行星历表计算天体位置。有第三方库提供相关功能,本文提供的算法以库为例,利用太阳黄经计算节气,由函数处理,合朔则直接使用库中提供的函数进行计算。

农历固定了一年十二个月,对应12个中气。如果出现13个月,必然有1个月没有中气,称为闰月,因此固定月序的中气也是固定的。对应关系为:

月建子丑寅卯辰巳午未申酉戌亥

月序

十一月

十二月

正月

二月

三月

四月

五月

六月

七月

八月

九月

十月

中气

冬至

大寒

雨水

春分

谷雨

小满

夏至

大暑

处暑

秋分

霜降

小雪

确认这种对应关系,即可分别使用参数i和j来记录合朔次数和中气序号,当某月为无中气月时,次月起对应的中气序仍从上月。

二、确定岁首

虽然当前农历以雨水作为正月中气,但历法的一些规则和计算实际是从冬至开始,一年的第一个月是十一月。建正只用于确定年干支的起始月。因为历法推算依赖于对天象的观测,特别是确定一年的长度需要测量同一节气相隔的日数,只有冬至或夏至可通过比较前后日的影长方便确定,历法推算从这里开始。但为与物候结合方便农业生产与工作需要,又将正月确定为雨水中气,作为日常生活中年的开始。

程序中的函数即处理查找岁首的问题。

三、置闰规则

两个冬至的间隔为回归年长度约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>29,u-v四、干支序月

月干支是根据节气判断,一年必然有12个节气,所以它的干支序是每5年循环一次。直接按干支计算,方法是先找任意一年大雪节气的干支,该年对60求余,以本年大雪干支去之,可得0年(公元前1年)的干支丙子,序12,故任意一年的岁首干支为该年加12什么是定气定朔?计算农历需要注意什么?,所在节气月的干支,则加上节气序再对60求余。也可考虑节气序与地支序是对应的,则可用上述方法计算天干再拼接为干支。

方法一:根据太阳历判断(程序所用方法):

节气日期与在太阳历中相对固定。由于每年节气数与公历月数相同,则每月的节气也是确定的,只需求该节气在月内的日期,每月内该日及以后的日期都为该节气干支干支历法第12天干支历法第12天,该日前的日期的月干支则为该节气前一干支。

但是,太阳历的岁长与回归年并非完全相等,现行格里历与回归年误差很小,但儒略历未考虑岁差因素,导致节气与月序的对应关系出现变化干支历法第12天,需要处理。

方法二:根据太阴历判断:

节气序与地支对应,但不与月建对应什么是定气定朔?计算农历需要注意什么?,因为可能存在无节气月,所以判断节气月不能直接根据阴历月序处理。

地支子丑寅卯辰巳午未申酉戌亥

节气

大雪

小寒

立春

惊蛰

清明

立夏

芒种

小暑

立秋

白露

寒露

立冬

由于大雪不固定在冬至朔以后,可以从立冬开始查找。使用平气法,大致找到公历日期应在的节气,再用定气法比较实际所在节气,得到节气序,最后加上该年年首节气干支即可。

五、干支纪年

年的干支序按月从正月起算(或有按节气从立春起算)。正月是冬至起的第三个月,所以实际是比较从公历转换得到的农历月是否在寅月后,否即属于上一年。

计算年干支方法与节气干支类似,得0年(公元前1年)的干支庚申,序56,则任意一年干支可知。(或干支分开计算,庚申分别为6和8,以公历年份分别对干(10)支(12)数求余即可)。

农历置闰法示例

2033年虽然有无中气月但仅合朔12次,为了保证一年有12月,故不闰。

2034有2个无中气月,但由于合朔不会超过13次,至少有一个不闰,采取先出现无中气月先闰的原则。注意这个“先”从冬至月开始而非正月。

image

注:《清史稿·时宪志四》:“求闰月,以前后两年有冬至之月为准。中积十三月者,以无中气之月,从前月置闰。一岁中两无中气者,置在前无中气之月为闰。”

标签: 节气 干支 冬至 正月 对应

六爻专家网


相关文章

推荐文章

热门文章