科普:二十四节与农历闰月

虽然我们90后这一代人现在很少用阴历和农历(农历是阴阳合历,并不等同于阴历)来计时了,但是相信家里的老人还是会念叨今天初几了,会说今年有闰六月了夏天会格外长之类的话。事实上我对于二十四节气和闰月这一话题产生兴趣就是起源于和外婆的对话,加之最近确实热到熔化,所以这对于我这样的胖子极不友好的闰六月就让我不得不和它较劲一番。

中午是在看《新闻30分》的时候一开始主播提到了这个话题,外婆就又说起她上小学的时候怎样纠结于这个问题,我说那不是我以前已经告诉过你了吗?她说哦,但吃完饭她又立刻忘记了,说还是想不通,我突然觉得再用十年前那番话来解释似乎也不是外婆想要的,这十年来起码在这个问题上我完全没有任何进步,这样不是很可耻吗?所以我决心要再次理解闰月的问题,也解决十年前那个我最后产生的那个疑问。我注意到了主播在说到闰六月的时候说这个月里只有一个节气“立秋”,下一个节气“处暑”在阴历七月了,她说这是闰月的一个重要特征,即闰月的那一个月里只会有一个节气,她为什么会从节气的角度来解释闰月呢?我决定以此为突破口,另一方面也是因为对于二十四节气我确实是从心底里信服,对于我们这不南不北的地方来说,二十四节气所指出的气候变化真是太准了。

首先我查到了公历2017年二十四节气表,

二十四节气是根据地球在黄道(即地球绕太阳公转的轨道)上的位置来划分的。视太阳从春分点(黄经零度,此刻太阳垂直照射赤道)出发,每前进15度为一个节气;运行一周又回到春分点,为一回归年,合360度。所以二十四节气是契合农历的,也可以说它契合阳历,也就是说二十四节气所划分的一年是有365.25天的,分割为二十四段之后每段大约有15日5时1刻,但实际上不是平分的,不然也就没有下文了。二十四节气按照古人的规矩依次是:冬至、小寒、大寒、立春、雨水、惊蛰、春分、清明、谷雨、立夏、小满、芒种、夏至、小暑、大暑、立秋、处暑、白露、秋分、寒露、霜降、立冬、小雪、大雪(根据古人使用日晷观测的结果,冬至日日影最短,所以是最早确立的节气)。

本质上来说二十四节气决定了阴历闰哪一个月,而中国古代的历法是农历,上文已经提过农历是阴阳合历,农历置闰的方法可以使农历年的平均长度接近回归年,而农历中的月又有鲜明的月相特征,保持了阳历和阴历两全其美的特点。

上文提到的农历三年一个闰月只是较为粗略的算法,实际在公元前104年汉武帝时期制定的太初历中就已经有极其精确的闰月算法,计算过程较为复杂此处就不详述,但是精确的结果是19年中需要加入7个闰月,这样回归年和农历的误差就缩小到了2个小时,已经算是很精确了。

2000多年前,耕文明时期的先祖们结合农耕生活与月亮和太阳的变化总结出农历以及二十四节气这样的历法,到今天这样的历法仍然发挥着重要的作用,即使公历纪年已经是主流,但是在乡村大家还是按照二十四节气规划着农事,也许工业化与城市化的冲击会使得这样的历法最终成为传说,但是古人们的智慧与汗水永远是我们民族最宝贵的财富。

THE END
1.技术分析农历日期公式详解:如何准确计算农历日期与节气转换先战胜自己,再战胜庄家。https://www.55188.com/thread-27907839-1-1.html
2.中国农历的算法(含周算法,节气,阴历与阴历对应)王峰炬最重要的是周的算法: public static int dayOfWeek(int y, int m, int d) { int w = 1; // 公历一年一月一日是星期一,所以起始值为星期日 y = (y-1)%400 + 1; // 公历星期值分部 400 年循环一次 int ly = ..https://www.cnblogs.com/fengju/archive/2011/09/13/6174521.html
3.算法系列之二十:计算中国农历(一)农历算法算法系列之二十:计算中国农历(一) 本文介绍了中国农历的历法规则,包括阴阳历的结合、天干地支纪年法、闰月的设置原理以及农历与二十四节气的关系。农历以月相为基础,通过置闰月协调与回归年的差异。天干地支纪年法通过天干(10个)和地支(12个)组合,每60年一个轮回。农历的闰月依据“十九年七闰”或更精确的“中气https://blog.csdn.net/orbit/article/details/9210413
4.python中国农历算法python公历转农历python中国农历算法 python公历转农历 一般使用的万年历,只提供距今前后百年的日历。这是因为其所用的计算方法是一种简便的近似计算,适用范围较小。其次,天文学方法计算量大,不适合日常软件使用。但如果要进行历史研究,范围就超出常用日历,本文即实现计算任意日期的农历。https://blog.51cto.com/u_16099335/8948179
5.二十四节气二十四节气把太阳周年运动轨迹划分为24等份,每一等份为一个节气,始于立春,终于大寒,反映了太阳对地球产生的影响。经历史发展,农历吸收了干支历的节气成分作为历法补充,并通过“置闰法”调整使其符合回归年,形成阴阳合历,“二十四节气”也就成为了农历的一个重要部分。在国际气象界,二十四节气被誉为“中国的第https://baike.sogou.com/v105043.htm
6.24节气农历数据万年历算法——阳历阴历24节气 阳历算法 阴历算法 它首先计算出对应阳历月第一天对应是星期几,然后根据数据 压缩算法确定,确定对应的阴历日期;而阴历节气,则有条件规律算法实现。 上传者:cflag时间:2010-06-06 中国农历ics文件2000-2100年100年带二十四节气 https://www.iteye.com/resource/lin11110-8050169
7.二九天是什么意思?是农历算法吗我国农历有“九九”的说法,用来计算时令。计算的方法是从冬天的冬至日算起, 所以说二九 农历算法 二九天是一个中国传统的节日,也被称为冬至。它是中国农历中最重要的二十四个节气之一,通常在每年的12月21日或22日。在这一天,太阳经过黄经270度,意味着北半球的白天变得最短,夜晚变得最长。二九天标志着冬季的正式http://www.yangyangzhi.com/zhanhui/375814.html
8.天气数据API接口农历、节气、生肖(文档) 查询任意公历日期对应的农历日期、农历传统节日、二十四节气、天干地支纪年月日及生肖属相 机动车尾号限行(文档) 查询北京、天津、哈尔滨、成都、杭州、贵阳、长春、兰州 8 个城市的尾号限行 天气Weather(网格级) 天气实况(文档) 中国1km 网格级天气实况 15天逐小时天气预报(文档) 中国5https://www.seniverse.com/api
9.农历计算方法所以计算农历需要先找出气朔,计算气朔则需计算太阳和月亮的黄经,现代天文学使用行星历表计算天体位置。python有第三方库提供相关功能,本文提供的算法以PyEphem库为例,利用太阳黄经计算节气,由SolarTerms函数处理,合朔则直接使用库中提供的next_newmoon函数进行计算。 https://www.jianshu.com/p/d3b63ee7492f
10.为什么算命过了立秋算七月立秋不立秋六月二十头什么意思之所以会有这种说法,是因为立秋是秋季第一个节气,代表秋季的的开始。 将立秋作为秋季的开始,这是按照节气来划分季节;而从农历月份来划分,农历七月为秋季的开始,所以才会有这种算法出现。 不过这种算法并不准确,因为节气和农历月份是完全不同的两个概念,因为二十四节气是看阳历时间的,所以同一个节气在不同年份的农https://www.k366.com/rili/181540.html