闰哪个月怎么算?
先贴一篇旧答案 (因为有人问起,所以把之前的这个问题移过来) 这是2015年写的,当时闹的比较凶的是“一年只有365天”和“农历每月只有29天的谬论”;现在又有人提出“闰哪个月怎么算?”的问题 先说第一个问题:一年只有365天!? 首先需要明确一个问题,地球公转一周的时间的确比每年的天数要多出一些。这些多出来的时间,大约每年4天多几天,几十年下来积累下来的时间差可以整成一天。但是这并不代表每个月的天数会因此增加或减少。
在旧历中,每个月的天数和现在一样都是29或者30天,只是闰月的情况有所不同——农历四年一闰,十九年七闰,每个闰月的第一天不是29就是30,这一天是农历的上旬或是中旬。而新历中的每个月第一天(即朔望)的时间是有定数的,一个是月初,还有一个就是月末:
以2017年5月28日为例子,这是农历二十五,新历中的日期是5月28日,而下一个农历月的日期就变成了6月27日,再下一个就变成7月27日……这样下去,整个新历的月份排列起来就毫无规律了么?其实也不是这样,虽然农历的单月、双月和闰月的第一天和最后一天的时间不一样,但是每一年的初一(朔)和十五(望)却是大同小异,只要确定第一年第一天的时间和月亮的位置,就可以通过算法预测之后的几个月(最多一年)的朔望,进而推算出每个月的第一个和最后一个日子。
那么,为什么农历要四年一闰呢?这主要是因为地球公转轨道是一个近似正圆形的椭圆,所以我们看到的月球位置并不是固定不变的,而是每4年多变化一次(冲)。当然,如果仅仅按照“4年一闰”来计算的话,时间久了就会产生误差,十九年七闰就是这么来的。
再说第二个问题:农历每月只有29天的谬论! 农历每个月的大小是由月球运动的周期决定的,也就是说,如果某个月只有29天的话,那么下个月必定只有29天,反之则是30天。这个周期便是古人发现的“朔望月”。一个朔望月大约是29.5天,经过一个阴历月,月亮从初一看不到第二次,这种算法的最大误差不超过一天。
而公历每个月的天数由地球运动决定,误差范围可能更大,最大误差可达一天以上。当公历和农历同时运行时,由于这两种历法计日的单位相差较大,所以很容易出现农历大月和小月交错的现象。这种情况在民间被称为“隔月差一日”。用现代科学一点的语言来解释这种现象:因为公历年份为整数,所以每过两年就要多放一天假(春节提前一天);而农历年份不是整数,便每隔三年就要多放两天假(春节推后一天)。