阴历起源
众所周知,公历和农历是非常常用的两种历法。可能好多人认为公历又叫阳历,农历又叫阴历。不过实际上这种认识稍有偏差——
历法,是记录日期的规则。一般来讲这个规则不是随便制定的,要找些什么周期性发生的事情作为日期的标准。于是在最原始的条件下人们发现月亮的变化非常有规律:一次圆缺29天半。于是以此为基准的历法就出现了。
这种历法以月相变化为依据,规定月亮圆缺的一个周期为一个“朔望月”,每次看不到月亮那天叫朔日,定为每月初一;月圆那天叫望日,一般为每月十五。又因为每过12个月,寒暑就轮回一次,于是把每12个月定为一年。这就是最简单也是最古老的历法。事实上,至少黄帝时期(约公元前2700+)的历法就已经比这种历法先进了。
阳历兴起
后来发现,这种历法有一个明显的缺陷即年月脱节:按每12个朔望月为一年,那么每年一共是29.5*12=354天。而每个回归年(即四季变换的周期,本质上是地球绕太阳运行的周期)是365天多一点。这样按古历法,每年与回归年相差11天,那可能过不了几年,就会出现夏天过年的情况了。
也就是说,单纯根据月亮制定的历法,有其不完善的地方。于是新的历法规则出现了:根据太阳的运行周期制定历法。我们知道,太阳虽然没有周期性的圆缺变化,但是它有周期性的高度变化:每年夏天高度最高,冬天高度最低,春秋则中等。为了与原历法相区别,根据太阳制定的历法称阳历,而根据月亮制定的历法则称阴历(月亮别称太阴)。所以,所谓阳历、阴历,其实是根据历法的来源,而对历法的分类。中国有自己的阳历,最常用的是干支历。我们常听说“生辰八字”其实就是在干支历下的出生时间,也就是用干支历所记录的生日。
阴历发展
与此同时,阴历并未完全消失。因为阴历最大的问题是无法顾及月份和气候的关系,有些年一月是冬天,可能过几年一月就变成了夏天。为了解决这个问题,人们采用了“置闰”的方法。因为朔望月*12比回归年要短11天,年份累加起来就会相差甚多,那么每隔几年,多加一个月,即可调整两种年的时间差。经过推算,最终的方案是“19年7闰”,即每19年里插进7个闰月,闰月所在的年叫闰年,也就是说19年中有12个平年,每年12个月,共354~355天;而另外7年是闰年,有13个月,共383~384天。我们在老式日历上经常看到“闰五月”、“闰七月”就是这么来的。如此,便可保证阴历的年和回归年之间的一致性。这种历法即农历,意指这种历法对农业有指导意义。另外,很多人会发现自己在19周岁的时候,阴历和阳历生日是同一天(当然,也有可能会差一两天)38、57岁时也是如此,其实就是因为“19年7闰”使得两种历法以19年为周期实现同步。
不过事实上,因为闰月的引入,农历已不属于纯粹的阴历,而是成为了阴阳合历(阴指以月相变化为基准,阳指参照太阳进行置闰)。顺便,置闰是一种普遍存在的调节手段,包括现在公历的4年闰1天(其实是400年闰97天),原理是一样的,只是“闰”的多少有区别而已。
阴阳二历
也就是说,阴历阳历其实是历法的分类,公历农历才是历法的名字。公历属于阳历,农历属于阴阳历,而纯粹的阴历现已不用,所以一般说阴历指的都是阴阳历了。现公历叫格里高利历,是由罗马教皇格里高利十三世批准颁行而得名。在那之前流行的历法是儒略历。因为都是阳历,所以基本规则会比较类似,同步度也会比较高。就比如很多人曾疑惑过的一个问题:二十四节气是中国传统,但为什么与源自西方的公历有这么明显的对应关系(每月两节不变更,最多只差一两天。上半年是六廿一,下半年是八廿三。)其实原因很简单——二十四节气是根据干支历制定的(干支历规定春节为每年第一天,此后每月固定两个节气)(其实是每月一节一气:月首为节,月中为气,合称节气),而干支历和公历同为阳历,所以基本上是对应的。
论外:岁数与年龄
顺便提一下岁数和年龄的本意:二者其实不尽相同,虽然有密切联系。年龄,表示从出生到当前经历了多少个完整的年,不足一年的舍去,也就是说,出生时年龄为0,每到一整年年龄+1(即现所谓“周岁”:出生时0岁,每次过生日加1岁)。其实和月龄、日龄等概念一比就清楚了,只不过年龄比月龄、日龄常用得多而已。而岁数呢,字面意思是“岁的个数”,就是经历了“多少个岁”。而“岁”是年的意思,这个年特指正月到腊月(守岁、岁月等词都是这个意思)。那么,只要一出生,我们就正在经历第一个“年”,所以出生时岁数为1,每次到正月经历一个新的“年”,此时岁数+1(即现所谓“虚岁”:出生时1岁,每次过年加1岁)。《史记·秦始皇本纪》记载:年十三岁,庄襄王死,政代立为秦王。秦始皇生于前259年,庄襄王死于前247年,时秦始皇“年十三岁”可见这个“岁”正是现所谓虚岁。
论外:生肖与历法
另外,生肖的确定,按原始的做法应该是根据出生年的地支来定,而出生年地支是干支历的概念,应当遵循干支历的年的起止时间即:立春为一年的首日。所以虽然我们一般说今年(2019年)是猪年,但今年立春(2月4日)生的小孩都是属狗的。【然而事实并非如此】按照国家标准GB/T 33661-2017
(是的,这玩意也有国标,不过不是GB
而是GB /T
,即推荐标准而非强制标准,所以理论上也不是必须遵守。。),确定生肖时的年取农历年,即以农历正月初一(春节)为一年的首日,zzZ。。