尧帝派人看星星,是为了种地

四千年前,黄河中游的一个部落首领要拍板一件事:今年什么时候下种。

早几天,一场倒春寒能把种子冻死在土里;晚几天,庄稼灌不上浆,秋霜就到了。这个决定每年都得做一次,做错的代价是一整年的口粮。

他叫尧。他给出的办法是派人去看天。

一、那十二个字,之前拆过一半

《尚书·尧典》开头记着尧的一道命令:

乃命羲和,钦若昊天,历象日月星辰,敬授民时。

这十二个字,《时间是怎么产生的?》那一篇拆过字面:「历象」是观测推算,「敬授民时」是把算出来的时节颁给百姓。

这次看另一头。这句话除了讲做什么,还交代了交给谁。开头那四个字,「乃命羲和」,是一道任命。

把报时写成人事任命,这件事本身就值得掂量。

二、四道任命,派出去四个人

《尧典》往下写,是四段几乎同构的任命。

尧派羲仲去旸谷,派羲叔去南交,派和仲去昧谷,派和叔去幽都。四个人,四个方向,各守一处观测点。要他们看什么也写明了:日中、日永、宵中、日短。

派出的人 去处 观测要点 定出的节点
羲仲 旸谷 日中 春分
羲叔 南交 日永 夏至
和仲 昧谷 宵中 秋分
和叔 幽都 日短 冬至

日中与宵中说的是昼夜等长,日永那天昼长到极点,日短那天昼短到极点。四句话,四个日子,一年的四根柱子就立住了。

南交这一处各家读法不一:《尧典》原文作「宅南交」,旧注以为下脱「曰明都」三字,另有注家读作「曰大交」,而《史记》作「居南交」。这里从经文。

四道任命与四个方向:羲仲、羲叔、和仲、和叔分赴四方,各定一个节点

四个观测点散在四方,这未必是实录,更像一种写法。但写法本身透了底:在那时的观念里,报时得有人守着、分头去看,一个人抬头瞥一眼不算数。

三、为什么值得养这么一家人

播种的窗口一年只有一次,错过就没了。报时的人手上握着的,是全族人的饭。

反过来看也成立。谁能把时节定准,谁的话就有人听。所以「敬授民时」里的那个「敬」字用得重:颁布时节这一步落定,就是一桩关乎生计的大事。

这样一份差事,交出去就不会再收回来。羲和之后,天文官成了一个世代相传的位置,旧注说羲氏、和氏世掌天地四时之官。

四、地里挖出来的那点东西

传说归传说,四千年前的人到底有没有认真看过天?考古是有话说的。

山西临汾襄汾的陶寺遗址,距今约四千三百年到三千九百年,年代正落在传说里尧舜的那一段。遗址的祭祀区有一处编号 ⅡFJT1 的建筑,十几根夯土柱圈出一道道观测缝。这套东西的用法,在《没有指南针,古人怎么定方向》里已经讲过,这里不再重复。

要在这里说清的是另一层:这些实物能证明四千年前的中原确实有人在做系统观测;它们证明不了陶寺就是尧都。

五、这条记载,能有几分信

《尚书·尧典》的成书年代远晚于尧舜。今天通行的看法是,它的定本大约成于战国,材料来源更早,但中间经过不止一次整理。

所以「尧命羲和」这四个字,未必是一份四千年前的任命书原样抄下来的。学者提醒过一种可能:后世已经有了成套的天文官制,写书的人回头往上古投射,把后来的制度安在了尧的头上。

这一层要摆在明处。可另一层也能摆在明处:即便叙述经过加工,它讲的核心并不违和。上古社会存在专职观测天象的群体,这个群体与统治权力绑在一起。考古所见与这一条不冲突,冲突只在细节。

存疑提醒:把陶寺遗址直接说成尧都,目前是假说,不是定论。这里引《尧典》,只用它说明当时的观念与制度想象,不用它给任何一个遗址定名分。

六、这套办法,今天叫什么

把一个周期的运动读出来,变成可以下发的指令,再送到每家每户手里。用今天的话说,这是一套授时系统。

它跟今天的关系比看起来近。收音机里的整点报时、手机自动校准的时间、国家标准时间的发布,做的是同一件事:把时间的读数从少数人手里,送到所有人手里。差别在精度,逻辑没换。

不过那时能定住的,只有四个点。分不出更细的段,也写不出坐标。四根柱子撑起一年,再细就没有工具了。

收尾

把报时交给一个家族,是尧那个时代给出的答案。这套答案管用了很久,久到「历象日月星辰」六个字后来成了历代治历的总纲。

但那四个人守着观测点,具体在看什么?黄昏的时候,正南方向上那颗星升到极点,凭什么能当钟用?


A&Q

问:尧典里的「乃命羲和」是什么意思?

答:「乃命羲和」是一道任命。尧把观测天象、推算时节这件事交了出去。《尚书·尧典》接下来写了四段任命,派四个人分赴四方,各守一处观测点。

问:羲和是一个人还是几个人?

答:在《尧典》的文本里,羲和是一族人的统称。往下分,是羲仲、羲叔、和仲、和叔四人,分别去旸谷、南交、昧谷、幽都四个方向。

问:那时的人凭什么定出春分、夏至、秋分、冬至?

答:《尧典》给四个人写的观测要点是日中、日永、宵中、日短,也就是昼夜等长、白昼长到极点、昼夜等长、白昼短到极点这四个日子。定住这几天,一年的四个节点就出来了。

问:陶寺遗址能证明尧的存在吗?

答:不能。陶寺的年代大致落在传说中尧舜的那一段,遗址里也确实有与观测有关的建筑,但把陶寺直接认定为尧都,目前仍是假说。

问:《尧典》的这段记载可信吗?

答:《尧典》成书远晚于尧舜,中间经过整理,还可能有把后世制度往前投射的成分。它讲的核心,也就是上古有专职观测天象的群体、并与权力绑定,与考古所见不冲突。


邝楚嘉按:这一段记载值得记的,是报时被写成了人事安排。派人、定去处、写清观测要点、交代接续的人,四件事齐了,一套观测制度才算落地。天文在这里落成了一桩政务。

相关枢纽页:历法术语表历法复原:一年从哪一天算起数据集与预印本


作者:嘉言一得(邝楚嘉)|独立天文历法爱好者,致力于可核验的原始文献与历法数据归档。
考据笔记 · 数据集 · 预印本:GitHub / WordPress / Zenodo(DOI: 10.5281/zenodo.22820072)

节与气:二十四节气的两半

二十四个节气里,有十二个能换月份,另十二个不能。这一条很少被留意,却决定了节气在历法里怎么用。

2026 年秋分交节在 9 月 23 日 8 时 5 分,太阳到达黄经 180 度。它在不能换月的那一半里。

十二个月,配十二组

一年十二个月,每个月配一节一气,从头往下配:立春配雨水,惊蛰配春分,清明配谷雨,立夏配小满,芒种配夏至,小暑配大暑,立秋配处暑,白露配秋分,寒露配霜降,立冬配小雪,大雪配冬至,小寒配大寒。

每一组里,排在前的是节,排在后的是气。十二组排完,二十四段也就齐了。

各管一头

节管月份的分界。立春落进寅月,惊蛰落进卯月,一路排到小寒落进丑月。十二个节,十二个月,一处不多一处不少。

气管太阳的位置。每个气都对应黄道上的一个度数:春分是 0 度,夏至是 90 度,秋分是 180 度,冬至是 270 度。度数定下来,交节时刻就能算到秒。两件事本来不在一条线上:月份是纸面上的格子,太阳是天上走着的位置;用一节一气把它们分开标记,才不至于互相牵扯。

一个例子

秋天六段,两组交替下来:立秋是节,处暑是气,白露是节,秋分是气,寒露是节,霜降是气。

换月份换在立秋、白露、寒露。处暑、秋分、霜降只报太阳的位置,不翻月份。

所以秋分那天,太阳换了地方,纸面上的月份没有动。

气与候

还有一层差别,比节与气的分法更贴人。

太阳的位置可以算,地面上的冷暖算不准。

秋分交节在早上 8 时 5 分,可身上的凉要到寒露、霜降前后才来,差了大约一个月。

古人给这层差留了两个名目:气,指太阳走到了哪儿;,指地面冷暖到了哪一步。

刻度在先,体感在后。刻度准,体感慢。两条线对不齐,是常态。

今年的数

秋分与春分两天,正午太阳的高度角等于九十度减去当地纬度。纬度越低,太阳越高,正午的影子越短。

在北纬二十三度上下,秋分正午太阳到 66 度多;北纬三十二度上下,到 57 度多;北纬四十度上下,到 50 度。同一根八尺杆子,三地影长依次约三尺半、五尺、六尺七寸。

这几个数不必去天文台,自家院子就能量。

收束

秋分落在两个「节」中间。它到的那一天,天上的刻度先走完,地上的冷暖还没跟上。

A&Q

问:二十四节气为什么分成节与气两组?
答:一组管月份分界,一组管太阳位置。两组各十二个,交替排列。

问:秋分是节还是气?
答:是气。它落在月的当中,前后各有一个节。

问:气与候有什么分别?
答:气是太阳的位置,算得准;候是地面的冷暖,慢约一个月。


邝楚嘉按:刻度先到,体感后到。秋分就是这两条线之间那一段距离。

邝楚嘉|历法与节气

相关枢纽页:历法术语表历法复原:一年从哪一天算起数据集与预印本


作者:嘉言一得(邝楚嘉)|独立天文历法爱好者,致力于可核验的原始文献与历法数据归档。
考据笔记 · 数据集 · 预印本:GitHub / WordPress / Zenodo(DOI: 10.5281/zenodo.22820072)

正月本来不是一月

先摆一个说法出来:

「正月」这两个字,本来不指一月。

它指的是岁首所在的那个月——一年的头一个月。而这个头一个月到底是哪个月,两千多年里改过很多回。

如果你穿越到秦朝过年,那个月在十月。

一、三正:哪个月当岁首

古人靠北斗七星定月份。斗柄指到哪个方位,就叫「建」哪个月,寅月、卯月、辰月是这么来的。

哪个月当一年的头,各朝不一样:

朝代 斗柄指向 岁首相当于今农历
建寅 正月
建丑 十二月
建子 十一月
建亥 十月

四朝岁首对照:横轴自十月起排,四个朝代的岁首一步步前移

这套规矩,古人叫「三正」。

胡三省注《资治通鉴》时说得最清楚:

古有三正:子为天正,周用之,以十一月为岁首;丑为地正,殷用之,以十二月为岁首;寅为人正,夏用之,以十三月(即一月)为岁首。

《史记·历书》里也有一句:

夏正以正月,殷正以十二月,周正以十一月。

上一篇讲子时的时候提过,周朝以十一月为正、以夜半为朔。说的就是这件事。

注意商和周的位置:商是十二月,周是十一月,这两个容易记反,不少文章就写颠倒了。以《史记·历书》原文为准。

二、秦朝的年,在十月

秦始皇统一六国后,用的是《颛顼历》,岁首定在建亥之月,也就是夏历十月。

所以秦朝人过年,在秋天。

有一个细节要分清:秦人不把十月叫「正月」。他们把「正月」改称「端月」,而四季的搭配照旧按夏历走——春天仍然是正、二、三月。

顺带说一句,「正月」今天读「征月」。流传最广的说法是避秦始皇的名讳,正与政同音——跟上面改「端月」是同一个由头。这个说法,清代黄生在《字诂》里已经驳过:正字本来就有平声的读法,不是避讳改出来的。

这件事后面还要用到。

汉朝初年接着用秦历,一用就是一百多年。刘邦当皇帝那阵,新年大典就在十月办。《史记·刘敬叔孙通列传》记汉高帝七年「长乐宫成,诸侯群臣皆朝十月」——长乐宫刚落成,诸侯和大臣们就赶在十月来朝贺。

三、汉武帝把年改回来了

到汉武帝太初元年,公元前 104 年,这件事定了下来。

这一年颁布《太初历》,恢复夏正建寅,重新以正月为岁首。牵头的是太史令司马迁;具体造历的二十多人里,治历官邓平和巴郡的落下闳出力最多,方士唐都分管天部。

上一篇讲十二时辰时提过《太初历》,说那是十二时辰定形的时候。这次讲的是同一部历法干的另一件事——它把岁首也定死了。

《太初历》还有个更长远的影响:它第一次把二十四节气编进历法,又立下「没有中气的月份作闰月」这条规矩。今天农历的骨架,就是那时候搭起来的。

从太初元年开始,「岁首」和「正月」合成了一件事——一年的头一个月,就是正月。

听起来平淡,但它管住了此后两千多年。

四、改回来之后,又反复了四次

改朝换代要「改正朔,易服色」,表示受命于天。所以太初历之后,岁首又动过几回:

时间 改成
公元 8—23 年 王莽 殷正(十二月为岁首)
237—239 年 魏明帝曹叡 殷正
689—700 年 武则天 周正(十一月为岁首)
761—762 年 唐肃宗 周正

中间那一段最有故事。

武则天正准备称帝。永昌元年(689 年)十一月,她下诏改用周正,把十一月定为新年的头一个月,十二月改叫「腊月」,原来的正月改叫「一月」。

后果是:永昌元年只剩下十一个月,一共 325 天。

那一年,中国人过了一个只有 325 天的年份。

她改岁首图的是政治,不是历法。

九年之后(698 年),她又动了一次手。那一年管历的人推算,转年该闰腊月;而她想要的是正月初一凑成「甲子朔旦冬至」——节气、月序、干支日序三样在同一天开头,古人眼里最硬的那种祥瑞。她挑了个由头,下令把闰月挪走,硬凑出这一天,随即改元「圣历」。

可现代学者用《麟德历》和天文工具回推,那一年的冬至其实落在壬戌日,不是甲子日。

祥瑞是造出来的。

到久视元年(700 年)十月,她又改了回去。《资治通鉴》记这一笔很干脆:「甲寅,制复以正月为十一月,一月为正月。」

五、岁首、正月、四季,是三回事

回到秦朝那个细节。

秦人以十月为岁首,却不把十月叫正月,四季也照夏历走。这说明什么?

说明在古人那里,「岁首」「正月」「四季怎么配月份」,是可以分开的三件事。

这不是后人替古人分的。唐人司马贞注《史记》,在「诸侯群臣皆朝十月」这一句下写得很清楚:

汉以十月为正,故行朝岁之礼,史家追书十月也……案:诸书并云十月为岁首,不言以十月为正月。

十月是岁首,正月还是正月。一千多年前,读史的人就把这两件事分开了。

不过,把这两件事分开,讲的还是「怎么读古书」。再往下一层,问题就变了——「三正」这套说法本身,到底站不站得住?

语言学家王力就据此认为「三正」之说并不可信——如果三代真的各用一套历法,秦朝为什么不干脆把十月改名叫正月?

这个提醒,读古书的时候很有用。

《春秋·成公元年》记了一句「二月无冰」。杜预注这一笔,只用了六个字:「周二月,今之十二月。」周历二月就是夏历十二月,正该是最冷的时候,河里没结冰,史官才要郑重记上一笔。要是按夏历二月去读,就完全读不通了——那时候早该开冻了。

不了解岁首的差别,就会以为古人记错了。

六、一个没被采纳的聪明办法

北宋的沈括想过另一条出路。

他在《梦溪笔谈·补笔谈》里说,不如干脆抛开月亮,纯用节气来排月份:

直以立春之日为孟春之一日,惊蛰为仲春之一日,大尽三十一日,小尽三十日,岁岁齐尽,永无闰余。

立春就是正月第一天,惊蛰就是二月第一天;大月三十一天,小月三十天,再也不用设闰月。

这是一部纯阳历。它跟干支历的思路几乎一样——都以节气分月,都不设闰月。前面讲三本历法时说过,干支历就是这么走的。区别在于,干支历没当成老百姓的日常历法,却一直用到今天。

沈括知道这想法会挨骂。他在这段话后头写了一句:

今此历论,尤当取怪怒攻骂,然异时必有用予之说者。

当时要被骂,将来总会有人用。九百年后读这一句,不像是对宋人说的。


两千多年里,「正月」这两个字的意思变过好几回。今天说正月初一,指的是同一件事;在秦朝说正月,指的是另一个月。

再往后,讲的是钟表上的出生时间——它不等于你出生的时辰。

相关枢纽页:历法术语表历法复原:一年从哪一天算起数据集与预印本


作者:嘉言一得(邝楚嘉)|独立天文历法爱好者,致力于可核验的原始文献与历法数据归档。
考据笔记 · 数据集 · 预印本:GitHub / WordPress / Zenodo(DOI: 10.5281/zenodo.22820072)

立春不是一整天,只有一秒钟

每年 2 月上旬,朋友圈都会刷一波”今日立春”。

可要是追问一句:立春是几点几分?

十个人里九个答不上来。

答不上来很正常,因为在多数人心里,立春是一天

但它不是一天。它是一个时刻,精确到秒。

一、差十二秒,八个字换掉四个

先看一个真实的例子。

2021 年立春,交在 2 月 3 日 22 点 58 分 39 秒

这一秒的前后,落在两个不同的干支月:

  • 22:58:38 出生交节前 1 秒):庚子 己丑 壬午 辛亥
  • 22:58:50 出生(交节后 11 秒):辛丑 庚寅 壬午 辛亥

前后相差十二秒。

同一天,同一个时辰,后面两柱一模一样——年与月这两柱全换了

这不是编出来吓人的例子。每年立春、立夏、立秋、立冬前后,都要遇到。

2021 年立春 22:58:39:前后十二秒,干支年月全换

二、节气是一个”时刻”

国家标准给节气的定义很干脆:太阳地心视黄经等于 15 度整数倍的时刻

关键词是”时刻”。

黄经就是太阳在黄道上的位置。上一篇讲过,太阳一年走一圈,切出二十四个节气,每份 15 度。

所以节气的本质是:太阳走到了某个位置

那一刻跟日历翻到哪一页没有任何关系。日历是给人看的,太阳不认日历。

三、那为什么我们印象里节气是”一天”

因为公历和节气都跟着太阳走,两套刻度对着同一个东西,自然对得齐。

上半年节气多半落在 6 日和 21 日前后,下半年多半落在 8 日和 23 日前后,前后不差一两天。

对得齐不等于是一回事。日期稳定只是结果,不是原因。

真正的原因是太阳准时走到了那个位置,公历恰好也按回归年编排,两者凑巧对上了。

一旦凑不齐,日期就浮动。

四、立春有时在 3 日,有时在 4 日

交节时刻每年都在往后推。上一篇说过那个数字——每年多出几小时,攒几年就能跨过午夜零点。

看 2015 到 2030 这十六年,立春落在 2 月 3 日的只有四年:2017、2021、2025、2029

正好每隔四年一次,而且都是闰年之后的第一年——闰年二月多出一天,等于把后面所有节气的时刻往前拨了一格。

所以”立春在 2 月 4 日”这句话,十六年里要说错四回。

2021 年那次尤其悬:交在 22 点 58 分 39 秒,离当天结束只剩一小时零一分。再晚一点点,就掉到 2 月 4 日去了。

五、古人也为这件事走过弯路

最早定节气图省事:把一年按时间均分二十四份,每份 15.2 天,叫”平气”。好算,也好排日历。

问题是太阳不匀速。地球轨道是椭圆,1 月初跑得快,7 月初跑得慢,太阳在天上移动因此有快有慢。均分法假设它匀速,对不上。

隋代刘焯就提出了更准的”定气”——按太阳实际走到哪一度来定。

可唐朝人编《大衍历》时留了句小注:

凡推日月行度及轨漏交蚀,并依定气。若注历即依恒气也。

算日月食,用定气;印日历,还是用平气。

明知哪个准还用不准的,就因为平气好排日子。这个取舍一直用到明末,到清顺治二年(1645 年)才改过来——中间隔了一千零四十一年。

改用定气之后,节气之间就不等长了:冬至前后只隔十四天多,夏至前后能拉到近十六天。

六、所以,交节时刻要查到分

交节是时刻。凡按交节来定的东西,只记到日子是不够的。

遇到时刻卡在交节点前后一两小时的,还得记到分。

古书与今天的历书报交节,都报到分,有的报到秒,就是这个道理。

还有个容易混的地方:交节时刻每年都不一样。查当年的数据,国内以紫金山天文台编的日历为准,不能凭印象——同一个节气,今年和去年能差好几个钟头。


节气是时刻,不是日子。

前面讲过,民俗属相看正月初一,干支纪年看立春。这一篇补上后半句——立春本身也只是一个时刻,往前往后差几分钟,纪年就换了一年。

所以记载交节前后的事,只写日子是不够的——要追问一句:几点几分?

再往后讲,是时辰——子时不是半夜十二点,它是两个小时,而且还跨到了第二天。

相关枢纽页:历法术语表历法复原:一年从哪一天算起数据集与预印本


作者:嘉言一得(邝楚嘉)|独立天文历法爱好者,致力于可核验的原始文献与历法数据归档。
考据笔记 · 数据集 · 预印本:GitHub / WordPress / Zenodo(DOI: 10.5281/zenodo.22820072)

立春换岁,还是正月初一换岁?

每年总有那么十几天,会被人反复问同一个问题:孩子到底属蛇,还是属马?

就取 2026 年春节前的那一段来说。

先看两个例子

2026 年 2 月 4 日到 2 月 16 日出生的孩子。

这一年立春在 2 月 4 日凌晨 4 点 02 分,落在农历乙巳年腊月十七;春节在 2 月 17 日。也就是说,从立春到除夕,中间隔着 13 天。

这 13 天出生的孩子:

  • 按民俗算法,年还没过,仍是乙巳蛇年腊月,属蛇
  • 按干支历算,立春已交,干支年已经是丙午

再看 2025 年 1 月 29 日到 2 月 2 日出生的孩子。

2025 年春节在 1 月 29 日,立春在 2 月 3 日,是正月初六。所以正月初一到初五这五天出生的:

  • 按民俗算法,年已经过了,是乙巳蛇年,属蛇
  • 按干支历算,立春还没到,干支年仍是甲辰

把两组摆在一起看就明白了。同样是”属蛇”,前面那组的干支年是丙午,后面那组是甲辰。民俗口中的属相没变,干支历里的年差了整整两年。

同样是属蛇,干支年差两年:2026 年立春在腊月、2025 年立春在正月初六

问题不在谁对谁错,在于它们本来就不是同一套历法

三套历法同时在跑

我们日常嘴里说的”年”,其实混着三套时间系统。

第一套是公历。 地球绕太阳一圈算一年,365 天多一点,多出来的那点靠闰年补。岁首是 1 月 1 日。这套跟干支纪年没关系,只用来记录钟表时间。

第二套是农历。 月份跟着月亮走,从这次看不到月亮到下次看不到月亮,算一个月,29 天半。12 个月加起来 354 天,比太阳年短 11 天。差的这些天,攒几年就多出一个月来,那个月就是闰月。岁首是正月初一。

第三套是干支历。 完全跟着太阳走。太阳在黄道上每走过 15 度,定一个节气,二十四个节气正好一圈。岁首是立春。

干支纪年的年与月,出自第三套

公历看太阳、农历看月亮、干支历看节气,干支纪年出自干支历

这就是为什么会出现前面那两组错位——民俗属相看的是农历的正月初一,干支纪年看的是干支历的立春,两家的”新年”根本不在同一天。

农历的正月,是从冬至倒推出来的

这一节可能有点反直觉,但很重要。

农历的编算现在是有国家标准的,2017 年发布,中国科学院紫金山天文台起草,编号 GB/T 33661-2017。里面定了五条规则,我挑三条说:

  • 月亮完全看不见的那天(朔日),定为每个月的初一
  • 冬至落在哪个月,那个月就定为农历十一月
  • 十一月往后数第二个(不数闰月),就是正月

看出来没有——农历的正月不是直接定下来的,是从冬至倒推出来的。整套历法的锚点压在冬至上,不在春节上。

闰月也是同一套逻辑。二十四节气里有一半叫”中气“,共十二个:雨水、春分、谷雨、小满、夏至、大暑、处暑、秋分、霜降、小雪、冬至、大寒。农历规定,哪个月摊不上中气,哪个月就设为闰月。

所以闰月不是凭空多出来的一个月,是那个月份确实夹在两个中气中间、够不着任何一个,才被指定为闰月。

顺便说一句:2025 年乙巳蛇年是农历闰年,384 天,年头年尾各有一个立春(2025 年 2 月 3 日和 2026 年 2 月 4 日),民俗叫”双春年”。2026 年丙午马年只有一个立春,在 2027 年 2 月 4 日,腊月廿八。再往后一年是”无春年”,一个立春都没有。这些说法指的都是在农历年内数立春的个数,跟吉凶没关系,纯粹是历法凑出来的现象。

干支历为什么用立春

回到干支历本身。

干支纪月用的是「气」,不是「月」。月相的圆缺跟气候冷暖没有对应关系,初一的月亮是圆是缺,改变不了地里的墒情。能反映寒来暑往的,是太阳在黄道上的位置。

立春那一刻,太阳到达黄经 315 度,阳气开始回升。把这一刻定为一年的起点,逻辑上是自洽的。

同样的道理,干支月也不是按农历初一换的,是按「节」换的。二十四节气里,立春、惊蛰、清明、立夏、芒种、小暑、立秋、白露、寒露、立冬、大雪、小寒这十二个叫”节”,剩下十二个叫”中气”。干支月的边界落在「节」上:立春一到就是寅月,惊蛰一到就是卯月,跟农历是不是初一没有关系。

节和中气这两班人马,各管一摊:节管分月,中气管闰月。很多人学了很多年,还把它们混为一谈。

两套口径,各管一摊

这里要说清楚一件事,免得以后在文章里被人挑毛病。

国家标准的口径是:生肖更替以农历正月初一为基准,干支纪年与农历年同步。这一点在 GB/T 33661-2017 里写得很明确,官方日历、节日、民俗活动都按这个来。

干支纪年的通行做法是:立春换年

两套口径并存,各管一摊,谁也替代不了谁。你去跟人聊”属什么”,那是民俗话题,按正月初一;你要推干支纪年,那按立春。

所以别急着下”生肖应该按立春算”这种全称判断——那是在跟国标唱反调,也容易吵起来。真要说,就说清楚:民俗属相看正月初一,干支纪年看立春。两边都不错,只是各管各的。

同一个孩子,两套口径给出两个答案:民俗上属蛇,干支年是丙午。两句话,不冲突。

还有一件事没说

上面通篇讲的是”哪一天”。但干支纪年要的是「哪一刻」。

同样一个出生日期,在乌鲁木齐出生和在揭阳出生,真太阳时能差将近两个小时。钟表上的北京时间过了一整天才换日,可太阳并没有走到那个位置。时辰交界、特别是子时交界上,这一步算错,日子就要归到前一天或后一天去。

这是后面要讲的事。

这个号写的是中国古代天文与传统历法,先从最容易被传乱的底盘讲起:三套历法的关系(本篇)、交节时刻与十二时辰的交界、真太阳时、六十甲子是怎么排出来的、闰月是怎么插进去的。

相关枢纽页:历法术语表历法复原:一年从哪一天算起数据集与预印本


作者:嘉言一得(邝楚嘉)|独立天文历法爱好者,致力于可核验的原始文献与历法数据归档。
考据笔记 · 数据集 · 预印本:GitHub / WordPress / Zenodo(DOI: 10.5281/zenodo.22820072)

三本历法·三种时间

1582 年 10 月,欧洲有十天凭空不见了。

10 月 4 日星期四过完,第二天直接跳到 10 月 15 日星期五。中间那十天,从来没有人过过。

这不是传抄的笔误,是教皇格里高利十三世下的命令。原因说起来也简单:历法跟太阳对不上了,多算出十天,删掉。

一件事能看出历法的本质——它是人类给天体运行做的刻度盘。太阳走一圈算一年,月亮圆缺一轮算一月。可这两个周期除不尽,谁也凑不齐谁。怎么凑,就分出了不同的历法。

我们日常要打交道的,其实有三本:太阳历、阴历、干支历。三本的刻度基准完全不同,混着用就会出错。

一、先把一个叫法纠正过来

很多人把农历叫「阴历」。这个叫法不准确,而且差得有点远。

历法按基准分三类:

  • 阴历:只看月亮。月份跟着月相走,不管太阳到哪儿。
  • 阳历(太阳历):只看太阳。年份跟着回归年走,不管月亮圆缺。
  • 阴阳合历:两头都看。月份跟月亮,年份跟太阳,中间的差额用闰月补。

农历属于第三种。它用朔望月定初一十五,又靠闰月把年长拉回回归年——两头都占,所以叫「阴阳合历」。真正只跟月亮走的阴历是伊斯兰历,那才是纯阴历。

把农历叫阴历,等于把混血说成单亲。

三本历法对照:看谁、一年多长、一月多长、差的天怎么补

二、太阳历:跟着太阳走

太阳历的基准是回归年——太阳接连两次通过春分点的时间间隔,365.2422 天,也就是 365 天 5 小时 48 分 46 秒。

麻烦在于这个数字不是整数。一年按 365 天算,每年少 0.2422 天,四年就攒出将近一天,得补回去,这就是闰年。

补的办法走过弯路。公元前 45 年凯撒定的儒略历,简单地四年一闰,平均年长 365.25 天。比回归年多出 0.0078 天,一年差 11 分 14 秒,看着不起眼,攒 128 年就是整整一天。

到 1582 年,误差已经攒到十天。春分从 3 月 21 日提前到了 3 月 11 日。教会在意这件事——复活节的日期要按春分推算,春分飘了,节日跟着飘。于是改历,做了两件事:

一是删掉十天,把 1582 年 10 月 4 日的次日定为 10 月 15 日,星期几照旧连着算。

二是改置闰规则:四年一闰,逢整百年不闰,逢四百年再闰。所以 1700、1800、1900 都不是闰年,2000 年是。

这么一改,四百年里只剩 97 个闰年,平均年长 365.2425 天,跟回归年差 0.0003 天,一年差 25.92 秒。要攒够一整天,得等三千三百多年。

我们现在用的公历,就是这套格里高利历。

但有一件事要分清楚:公历的月份长度是人为切分的,跟天象无关。 一年 365 天切成十二份,哪个月 31 天哪个月 30 天,是历史留下的约定——二月之所以短,一种说法是奥古斯都从二月挪走一天加到了八月。月亮圆缺也好,太阳位置也好,都不参与这个划分。

这是公历和后面要说的干支历最根本的差别。

三、阴历:跟着月亮走

阴历的基准是朔望月——月亮接连两次朔(完全看不见月亮的那天)的间隔,29.5306 天,29 天 12 小时 44 分 3 秒。

月亮本身不发光,我们看到的圆缺,是它被太阳照亮的那半边在变。从看不见,到满月,再到看不见,一轮 29 天半。这个周期抬头就能看见,所以早期历法多半从月相起手。

麻烦也出在这儿:12 个朔望月是 354.3672 天,比回归年短了将近 11 天。

纯阴历的处理办法是——不处理。

伊斯兰历就是这样。单月 30 天,双月 29 天,一年 354 天。多出来的零头靠加一天解决:30 年里挑 11 年当闰年,闰年在十二月末加一天,凑成 355 天。它只加闰日,从来不设闰月。

后果是日期在季节里漂移。伊斯兰历每年比太阳年短约 10 天 21 小时,三年就短掉一个月,32.6 个太阳年之后,伊斯兰历已经整整多走了一年。斋月因此在四季里轮流转:有一年赶在夏天,白天长,斋戒难熬;再过十几年落到冬天,日子就短得多。

纯阴历的好处是月相和日期永远对得上,代价是日期和季节彻底脱钩。对靠天吃饭的农耕社会来说,这个代价付不起。

四、干支历:也是阳历,分月的办法不一样

干支历常被当成农历的附属品,其实它独立得多,而且它是一本纯阳历——只看太阳,完全不看月亮。

它的刻度是二十四节气。太阳在黄道上每走过 15 度定一个节气,走满 360 度正好一圈,二十四个。立春起头,大寒收尾。黄经度数定死的:立春是 315 度,往后每过一个节气加 15 度,到春分正好回到 0 度。

分月用「节」,不用「气」。二十四节气里单数是节、双数是气(也叫中气),一节配一气就是一个月,全年十二个月,不用设闰月——太阳走完一圈本就是一年,本来就不差。

月首从立春起算,地支固定:

  • 立春起寅月,惊蛰起卯月,清明起辰月
  • 立夏起巳月,芒种起午月,小暑起未月
  • 立秋起申月,白露起酉月,寒露起戌月
  • 立冬起亥月,大雪起子月,小寒起丑月

这就是常说的「正月建寅」。这里的「正月」是干支历的正月,从立春开始,跟农历的正月初一不是一回事,上一篇专门讲过这个错位。

干支历和公历的关键区别在这儿:两本都是阳历,年长都跟着回归年走,但公历的月是人为切的,干支历的月是太阳位置切出来的。公历的二月可以是 28 天也可以是 29 天,看年份能被几整除;干支历的寅月永远是立春到惊蛰那一段,看太阳走到哪儿。一个看约定,一个看天象。

干支纪日另有一桩值得说的事。它是目前已知连续时间最长的纪日法:从春秋鲁隐公三年(公元前 720 年)二月己巳日算起,两千七百多年,一天没断过。这个起点还是靠日食记录倒推出来的——《春秋》记的「己巳,日有食之」,天算回推正是公元前 720 年 2 月 22 日。

商代甲骨上已经刻着完整的干支表,殷墟出土的那片(合集 37986 号)六十甲子一个不少,是当时用来核对日期的谱表。

二十四节气与十二月建:一节配一气,合起来就是一个月

五、农历站在哪儿

回到开头那个叫法。农历哪一头都不纯粹,它把两头的长处凑到了一起:

月份跟月亮走,初一必是朔日,十五前后必是满月——看日子就知道月相,这是阴历的长处。

年份跟太阳走,用闰月把 354 天补回 365 天,季节不乱跑,这是阳历的长处。

二十四节气从干支历里借过来,管农时。

补足差额的老规矩叫十九年七闰,是个大致的规律;具体到哪一年闰哪个月,看这个月有没有中气。这套做法现在写进了国家标准 GB/T 33661-2017,由紫金山天文台算好了颁布。

所以农历是一本三合一的历法:月亮管月,太阳管年,节气管农时。叫它阴历,只说了三分之一。

六、四本历摆在一起看

太阳历(公历) 阴历(伊斯兰历) 干支历 农历
看谁 太阳 月亮 太阳 月亮 + 太阳
一年多长 365 / 366 天 354 / 355 天 约 365.25 天 354 / 384 天
一月多长 人为规定 28–31 天 29 / 30 天,看月相 两个节气,约 30 天 29 / 30 天,看月相
补差办法 加闰日 加闰日,不设闰月 不用补 加闰月
岁首 1 月 1 日 穆哈兰姆月 1 日 立春 正月初一

中间两列是纯粹的,两头是调和出来的。

七、分清楚有什么用

干支纪时用干支历,看那一天的年月与日子,全按节气走,跟初一十五没关系。

过日子用公历,跟国际接轨,算的是太阳。

看月相、过节日用农历,八月十五月亮圆,这个它管。

三本历各管一摊,谁也替代不了谁。混着用的结果,就是同一个日子排出两个结果,然后争论谁对——其实谁都对,只是不是同一本历。

再往后讲,就是节气:立春不是一整天,只有一秒钟。

相关枢纽页:历法术语表历法复原:一年从哪一天算起数据集与预印本


作者:嘉言一得(邝楚嘉)|独立天文历法爱好者,致力于可核验的原始文献与历法数据归档。
考据笔记 · 数据集 · 预印本:GitHub / WordPress / Zenodo(DOI: 10.5281/zenodo.22820072)