我国历史上的日历,也称为历法,自从人类社会进入农牧业时期就有了。无法考证第一部历法出自何人之手、源自何时何地。
自有文字记载以来,我国古代历法有一百多种,比如黄帝历、颛顼历、夏历、殷历、周历等等。不同时期的日历是由不同时期的人发明的。下面我们来说一下具体情况。
从日历的名称,我们不难看出几乎每个朝代都有属于自己的日历。为什么会出现这种情况呢?
大概从周代起,颁发、宣布日历是一种权力的象征,在封建社会,只皇家才有权利发布日历,称为“告朔”(预告朔日)。从这个意义上,我们就明白了为什么古时候每一个新皇帝上台后都要重新更改年号。
我国历史上第一部完整的历法——《太初历》汉武帝太初元年(公元前104年),朝廷从全国征募了20几个天文历算家,在京城制定日历。其中有邓平、落下闳、唐都、公孙卿、壶遂等。经过他们的讨论,制定了《太初历》。
这部历法是流传至今的第一部完整的古代历法。其实参与制定这部历法的还有一个大家都知道的名人——司马迁(《史记》的作者),不过由于在制定历法的过程中,司马迁的一些建议没有得到采用,或许是因为这个原因,司马迁在《史记.历书》中没有提到《太初历》。
因此,《太初历》不是哪一个人发明的,而是二十几个人根据以前的历法重新制定的。
《太初历》规定一个月(朔望月)的长度是29又81分之43天(29.530864天),平年十二个月,闰年加一个月,十九年中加七个闰月,按这种计算方式,每年12又19分之7个月,一年(回归年)是365又1539分之385天(365.2502天)。
年和月的长度是制历的两个基本数据,从《太初历》制定出的数据来看,虽然误差还很大,在对于几千年前的历法来说,其精准度已经非常高了。
《太初历》从公元前104年《汉武帝太初元年》开始实行,直到公元84年被后汉《四分历》代替为止,一共实行了188年。
我国历史上优秀的历法——《大衍历》唐玄宗开元九年(公元721年)九月乙巳日这天,根据《麟德历》的推算,当天要发生日食。于是人们做好观看的准备。最后,虽然日食出现了,但和推算的时间有很大的出入。这说明《麟德历》存在很大的误差。
于是,唐玄宗命令一行法师(俗名张遂)制定新的历法,代替不准确的旧历法。张遂经过六年的时间制定出了新的历法——《大衍历》。
《大衍历》是我国历史上非常优秀的历法之一,其内容既继承了以前历法的成绩,同时又被后代历法所参照。具体内容包括:推算朔望的方法、推算二十四节气各天中午太阳下影长及白天黑夜长短、推算太阳运动、月亮运动、五大行星运动等。朔望月(历月)的长度为29.53059天;回归年长度为365.2444天,和今天的数据相比,非常精准。
我国古代日历的制订(发明)和具体情况如前文所说,我国古代历法约有一百多种,如果将这些历法仔细研究加以比较,你会发
现,不论这些历法如何推陈出新,其本质不外乎三个类型:阴历、阳历、阴阳合历。
- 阴历
月光出于日之所照,魄生于日之所蔽,当日则光盈,就日则光尽也。——张衡《灵宪》
意思是说,月光来自日光的照射,对着太阳时月亮就全发光,成为满月;月亮背着太阳时就不发光,看不见了。
阴历是古人根据月亮的阴晴圆缺变化周期来制定的。也就是所谓的“朔望”。一个朔望月的自然长度为29.5306天(用小时来计算的话应该是29天12小时44分3秒)。但是这个数字太过于复杂,为了便于实际运用必须取整,但问题是取整之后又不能破坏朔望的自然规律。
如果要对29.5306这个数进行取整的话,显然只有29和30比较接近。但是不论取哪个数,都会无法与自然的朔望长度相对应。为了确保每一次的“朔”都能发生在每月初一,古代的历法家巧妙地采取了29与30交替使用的方法,解决了历月的长度问题。
历月的长度解决了,那还有历年的长度问题。因此,历法家们首先考虑到了回归年的因素。因为历月的长度只有与回归年的长度相吻合,历法才能真实地反应春、夏、秋、冬的四季变化。根据这一原则,再经过反复的观测发现,12个朔月的长度累加起来的天数非常接近回归年的天数。
于是,古代的历法家就将阴历的历年定为12个月,为了与回归年达到一致,把第三年十二月的29天改为30天,并把这一年称为闰年。
这就是阴历的历月长度和历年长度的由来。当然,也就是阴历的制订方式。它的基本周期是朔望月,是月亮变化的周期。反过来说,从阴历的日期就可以知道月相。比如:初一是朔(新月);十五、十六是望(满月);初七、初八是上弦月;二十二、二十三是下弦月等等。
古人因此不但可以根据日期判断月相,也可以通过月相判断日期。
- 阳历
阳历是按照太阳的运动来制定的。它的基本周期是回归年。一个回归年的自然长度是365.2422天(365天5小时48分46秒)。如果将这个长度直接用于日历,那从第二年起,每年都会推迟5小时48分46秒,要不了几年,季节、节气的日期都将与现实差距很远。
古人很聪明,把5小时48分46秒乘以4,等于23小时15分4秒,也就接近一天。因此便采取了每经过四年多算一天(称为闰年)、每满一百年少闰一次,到第四百年再闰。这样一来,阳历历年的平均长度就变成了365天5小时49分12秒,与回归年的自然长度相差仅仅只有26秒。每年相差26秒,累积3300年才会差一天。这个误差已经很小了。三千以后的事情,自然有三千年后的人处理,所以阳历历年的长度就这样解决了。
阳历的历月长度:阳历的历月数与阴历一样,都是12,但是这种取法与阴历的朔望月没有什么关系。仅仅是沿用了阴历把一年分为12个等份的方法而已。前面已经讲过,阳历的历年长度已经定下来了,那就再玩儿一次数字游戏,想办法让它符合12个等份就行,虽然复杂,但其实就是这么简单。现在国际通用的公历历月:一、三、五、、七、八、十、十二月是大月31天;四、六、九、十一月是小月30天;唯独二月份平年是28天,闰年是29天。这种看似杂乱无章的排列,实际上就是为了解决阳历历月长度问题而玩儿的“数字游戏”。
另外,大家可能发现一个问题,阴历以朔望月为原则,因此有“月首”(初一),这是月亮的运行规律,不可能人为更改。那么以回归年为原则的阳历有没有“年首”呢?是定死的吗?回答是没有。原因在于:地球绕太阳旋转,一圈接着一圈,没有开头也没有结尾,从哪里开始计算都是一样的。在古代,历法家也发现了这个问题,当时比较通行的办法是:选取二十四节气中的冬至后的10天作为元旦(一月一日)。当然,这不是必须,只是古代的一个习惯而已。
以上说的,就是阳历的计算原则和来历。
- 阴阳合历
看过了上面阴历和阳历的制定方式,想必大家也看出来了,实际上古时候几乎所有的历法都属于阴阳合历。
所不同的是,阴历先以月亮定历月长度,再根据这个长度去合回归年的长度;阳历则是先定历年的长度,再根据这个长度去合历月的长度。
关于日历的其他情况在生活中,我们经常听到“夏历”、“农历”等字眼,夏历这个名称很有可能源自夏朝所用的历法,随着朝代更替,夏历两个字并不是真的指夏朝的历法,而是对历法的一种代称。
农历,并不等同于阴历,原因或许是我们自古就是农业国家,历法与农业生产相关,久而久之便有了农历的说法。
总的来说,我们只需要知道制定历月的长度和历年的长度原则,以及通过什么方法来协调历月与历年的长度问题使其达到一致,就可以了解日历的具体情况了。
,