《古人的大智慧》
——梅雨期和三伏的计算
萧耐园
原载于南京大学天文与空间科学学院
公众号《聊天园》专栏2021年5月
作者已稍作修改
时光流逝,季节递转,节气已经到了芒种。芒种是二十四节气的第九个,公历中出现在6月4~6日,是农历五月的节气,这时太阳到达黄经75°。芒种是夏季第三个节气,这时中国长江中下游地区将进入多雨的时节,梅子成熟,由绿转黄,俗称“黄梅天”。在这一时期里,空气非常潮湿,衣物器皿等容易发霉,阴雨连绵不绝,故又称“霉雨”。我国传统历法载有这一时期开始和结束的日期,分别叫做“入梅”和“出梅”,还有关于这两个日期的计算法则。以芒种后的第一个丙日(干支纪日的天干)作为入梅的日期,如芒种日适逢丙日,则芒种日为入梅日。出梅则定在小暑后的第一个未日(干支纪日的地支),如小暑日适逢未日,则小暑日为出梅日。
小暑是二十四节气的第十一个,公历中出现在7月6~8日,是农历六月的节气,这时太阳到达黄经105°。小暑是夏季第五个节气。小暑节令,时值夏至日照最盛之后的半个月,还要等半个月大地才会释放出最大的热量,已经炎热,但还没达到高峰。
例如2022年芒种是6月6日,这一天是庚寅日;6天后的6月12日是丙申日,这一天就定为入梅。2022年的小暑是7月7日,这一天是辛酉日;10天后的7月17日是辛未日,这一天就定为出梅。
我国幅员辽阔,各地的地理位置或地形地势不同,入梅和出梅的日期能因此而相异;同时,气象因素变化不定,殊难以一种固定的模式来预测。由此可见,上述的入梅和出梅只能作为一种大致的参考,为要指导日常生产和生活,必须听取气象台发布的梅雨预报。
古人有吟咏入梅和梅雨的诗歌,颇堪玩味,今录两首于下。
宋·陆游的“入梅”诗:
今年入梅日,云脚垂到地。
芬香小麦面,展转北窗睡。
甲夜闻雨声,起拜造物赐。
三登于此卜,一饱可坐致。
语儿高尔囷,戒妇丰尔馈。
击壤歌太平,门无督租吏。
芒种前后正是南方的麦收时节,诗人似乎让我们闻到了新麦的芳香。既已入梅,就有丰沛的雨水,诗人由此看到了丰收的前景。
宋·赵师秀的“有约”(又题“约客”)诗:
黄梅时节家家雨,青草池塘处处蛙。
有约不来过夜半,闲敲棋子落灯花。
在黄梅天作者因约好的友人受雨阻隔不能践约,深感失落,借诗抒怀,以“家家雨”极言梅雨的广泛和持久。
梅雨时节(来源:网络)
与入梅和出梅类似,我国自古以来,就设置了“三伏”,即初伏(或称头伏)、中伏和末伏。三伏期间,地面释放的热量达到最高峰,是一年中最热的时间。规定夏至后的第三个庚日(干支纪日的天干)入初伏;若夏至适逢庚日,夏至日就算第一个庚日,再过20天为入初伏。初伏期间往往正逢大暑节气;故有“小暑不算热,大暑三伏天”的农谚。夏至后的第四个庚日为入中伏。立秋庚日或立秋后第一个庚日为入末伏。确定入三伏的日期是按照节气配合日干支,这导致伏期的长短不同。如果入伏早,中伏一般为20天;如果入伏晚,中伏只有10天。
夏至是二十四节气的第十个,公历中出现在6月20~22日,是农历五月的中气,这时太阳到达黄经90°。夏至是夏季第四个节气。古人在地面竖直立一根竿子,测量太阳中午的影子,夏至这天的影子最短。夏至名称的来历,据《恪遵宪度抄本》:“日北至,日长之至,日影短至,故曰夏至。至者,极也。”夏至和冬至合称“二至”,它们与合称“二分”的春分和秋分一起,是最主要的节气。源自古巴比伦经古希腊直到近代的西方天文学,也确立了这4个节气;但是他们除了这4个节气之外,便没有别的节气了。夏至前后阳光照射得高,时间长,是不是这个时期天气最热呢?不是的。原来我们直接感受的环境温度,不取决于太阳的实时照射。大气、地层和地面的水体都会吸收太阳照射的热量,然后散发到周围环境中,让我们感受到环境的冷热。厚厚的地层在夏至前后接收到最大的热量,却要经过约一个月的滞后,才把蓄积的热量散发出来,造成了一年中最热的天气。由此可见,一年里最热的时候是夏至后大约一个月。
立秋是二十四节气中的第十三个,公历中出现在8月6~8日,是农历七月的节气,这时太阳到达黄经135°。这是秋天的第一个节气,标志着孟秋时节的正式开始。到了立秋,梧桐树开始落叶,因此有“一叶知秋”的成语。虽然秋季是天气由热转凉,再由凉转寒的过渡性季节,但是立秋前后中国大部分地区气温仍然较高。一年中最炎热的三伏天还要延续到立秋以后。最后一伏的末伏,规定在立秋后的第一个庚日开始,而出伏要等到入末伏后的第10天。由此可见,更有我们的实际体验为证,立秋以后还要经历一段高温天气,甚至伏天的酷暑。这就是我们通常所说的“秋老虎”。
例如2022年夏至是6月21日,这一天是乙巳日,夏至后的第一个庚日是5天后的庚子日,那么第三个庚日是庚申日,与夏至日相差25日,因而得入初伏是7月16日。其后的一个庚日是庚午日,其间相差10日,因而得入中伏是7月26日。立秋是8月7日,这一天是壬辰日,其后的第一个庚日是庚子日,其间相差8日,因而得入末伏是8月15日。由此可见,中伏持续了20天;而出伏是在8月25日。
也有夏至适逢庚日的情况,如2021年夏至是6月21日,庚子日,就算第一个庚日,那么第三个庚日是庚申日,其间相差20天,因而得入初伏是7月11日。至于中伏仅持续10天的情况,如2014年入初伏是7月18日,入中伏是7月28日,入末伏是8月7日。
有不少咏叹伏天酷热的古诗,富有情趣,请读宋·杨万里的“夏夜追凉”诗:
夜热依然午热同,开门小立月明中。
竹深树密虫鸣处,时有微凉不是风。
夜晚的酷热不减午间,诗人因此难以入睡,出门伫立于静谧的月光下,面对密密竹树林,耳闻啾啾夏虫鸣,体验着“心静自然凉”的意境,有感而发。
夏日风光(来源:网络)
入梅、出梅和三伏这些日期的确定既与节气有关,又涉及我国独特的日期计量方式——干支纪日。
所谓干支是指10个天干和12个地支。地支还与12种动物相对应,这就是我们通常所说的十二生肖。
10个天干是:甲 乙 丙 丁 戊 己 庚 辛 壬 癸。
12个地支是:子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥。
天干和地支反复依次各取一个相配,构成60个组合,如下列六十干支表所示。60个组合正是计数的顺序,且可循环往复。
六十干支表
十二地支与生肖对应图(来源:网络)
干支的出现和应用至迟可以追溯到3200余年前的殷商时期。商朝经过多次迁都,最后在盘庚在位时定都于殷(今河南省安阳县小屯村),史称殷商。自1898年起,这里发掘出15万片以上刻有文字的龟甲和兽骨,称殷墟甲骨片,其所刻文字称甲骨文。殷商武乙时期(约公元前13世纪),有一块牛胛骨上完整地刻着六十干支。
甲骨文中的干支表(转引自《图解天文学史》,萧耐园、宣焕灿编著,南京大学出版社,2010年)
在中国的传统历法中六十干支循环应用,以用来纪年、纪日等。例如我国历史上的一些事件,往往以该事件发生的年份称说,如甲午战争(1894年)、戊戌变法(1898年)、辛亥革命(1911年)等等。至于干支纪日法,据考证至迟从春秋时鲁隐公元年(公元前722年)二月己巳日起,这种纪日法再也没有间断,持续达2700余年之久。而在公元前722年以前,干支纪日法早已存在,但其间是否间断过还有待考证。由于中国古代长期采用干支纪日和干支纪年,日期和年份始终没有错乱。现代的人们很容易从古人关于事件或天象记载中所附的干支,断定发生的日期。此外,古人在实际工作中往往将自已当时测定的冬至日期与上千年前的冬至日期相比较,然后以其间相隔的日数除以其间相隔的年数,这样可以获得十分精确的回归年长度值,而上千年前的日期正是通过连续不断的干支纪日确定的。元代天文学家郭守敬测定的回归年长度为365.2425日,与现代公历的采用值一致,但比后者早了近400年。如此精确,正是应用了这样的方法。我国除了应用干支纪年和纪日,还用来纪月和纪时(辰)。
无论出入梅还是三伏在我国传统历法中都是以相应的节气结合干支纪日来规定的,不能确定于我国传统历法中的某月某日,当然也不能确定于公历中的某月某日。梅雨和暑热的出现和消长首先取决于季节的变迁,即地球在公转轨道上的位置,这是天文的因素。然而,它们又是天气现象,具体的表现依赖于大气活动,而大气活动是非常复杂的。我国古人早就发现历年的梅雨期和三伏天的具体日期都会有前后漂移,极难预测,于是做出了这样的规定。这种规定的特点是:既体现了以节气为依据,又不拘泥于节气而固定日期。因为从根本上来说,出入梅和三伏的或显或隐取决于相应的节气,可是又必须反映气象因素的复杂多变,那么只能对具体的日期以“模糊”手法处理。这充分展现了我们祖先的智慧。
进一步来看,天干地支关联着我国传统的“阴阳五行”理论,具体来说,丙属火,未属土,庚属金。我们不可能在这里阐发这个理论,笔者也无这个能力。已故著名古天文研究专家、国家天文台研究员李勇先生对于阴阳五行理论有深入的研究,见解独到、洞见深刻。在此摘录它的若干论述。他曾经喟叹“大凡与阴阳五行相牵连的内容和领域常被当作封建糟粕加以批判。” 他说:古人“对天象背后规律的认知,旨在探究复杂事物发展、演变规律,并以此为依据,从而导出最为根本的规则和理论。”他认为“变化天象的主要体系是日、月、五星,它们的运行又有掩食、凌、犯等,加之星占事应,这些就逐步演变成抽象的‘阴阳五行’概念,并从而归纳演绎出五行的生克双面性。……这一理论能流畅地解释社会的发展演变,推演出事物间的相互关系,且合于当时的知识水平,是易于被接受的一种朴素的理论体系。”他提出:“我们完全可以把它(指阴阳五行理论——笔者)当作相对真理看待,因为它在中国历史上和特定环境中曾极大地促进和推动了中华文明、文化和科技的发展。” 他进一步阐明:“这一理论深刻影响已深入到中华文明的方方面面。这在当时是先进的理论体系,其应用之广,影响之深,堪称空前绝后。……传统天文也与此关系紧密。” (以上论述见《观天授时——中国古代的天文学》,李勇著,云南大学出版社出版,2021年1月第1版)他还认为这个理论体现了深刻的“天人合一”思想。2016年国家发布《中国公民基本科学素质基准》,把“阴阳五行、天人合一”也写了进去,可见这个理论在我国传统文化中占据着重要的地位。古人在入梅、出梅和三伏的设置中贯彻了天人合一的思想,以期实现对天时地利的认识和利用,体现了古人的大智慧。
在我们通常应用的日历上并不注明日干支,要想知道某一日的干支恐怕得查“万年历”。笔者设计了一张表,可由公历年、月、日的数值查取若干“指数”,以此迅速算得日干支。
计算日干支的指数表
说明:
此表适用于查取公元2000年1月1日至公元2099年12月31日的日干支。查表前须注意区分所求年份是否闰年,闰年是公历年份数能被4除尽者,这与查取闰年一、二月份的指数有关。
查表步骤如下:
(1)把年份的十位和个位2个数字分解开来,以这2个数字各从“十位”和“个位”栏的所在位置查取相应的2个指数,把这2个指数相加。
注意:若其中“十位”和“个位”两个指数同时是红色数字时,需再加1。
(2)从“月份”栏查取月份的指数,将月份的指数加在上步所得和数上。
注意:若该年为闰年,则在查取一月和二月时,须用红色数字标出者。
(3)将代表日期的数字加到上两步所得的和数上。
(4)将以上三步所得和数除以60,得余数A。
(5)余数A的个位数相应于天干的序数。余数A除以12,得余数B,余数B相应于地支序数。天干和地支的序数见下表。
天干和地支的序数
(1)求2022年6月6日(芒种)的日干支。
由表查得各位的指数,并求和。
十位2 个位1 月份6 日期6 和数
指数 32 10 39 6 87
87÷60=1……27 余数个位是7,查天干序数表得“庚”。
27÷12=2……3 余数是3,查地支序数表得“寅”。
故知2022年6月6日的日干支是“庚寅”。
(2)求2016年1月1日的日干支。
由表查得各位的指数,并求和。注意2016年是闰年。
十位1 个位6 十、个位指数双红
指数 39 31 1
月份1(指数红色) 日期1 和数
指数 7 1 79
79÷60=1……19 余数个位是9,查天干序数表得“壬”。
19÷12=1……7 余数是7,查地支序数表得“午”。
故知2016年1月1日的日干支是“壬午”。
——
读者反馈意见摘录
@萧耐园
感谢萧老的精釆文章,受益匪浅。
关于入梅丙天干,出梅未地支,是合情合理的。入梅在农历五月,也称午月,午为阳火,对应的天干为丙的太阳之火。出梅是午火生六合之土,即地支未土。恰巧今年是辛未日,丙辛干合,风调雨顺。
关于三伏热天从庚天干始,此期间火热气候,正能炼璞顽之金,就是庚金。
上述浅见,盼不吝赐教。
(全文完)
———————
【编者附】 十二生肖趣图
子 丑 寅 卯 辰 巳
午 未 申 酉 戌 亥