中国古历的历算过程是什么?
答:中国古代历法绝大多数是阴阳合历.
中国古代历法的基本元素——日,气,朔 中国至迟从殷商时代起就采用干支纪日.从甲子到癸亥,六十干支日名轮流循环使用."气"是中国古历的阳历成分.从冬至点开始到下一个冬至点为一年(回归年).一年分成二十四个"气",称为二十四节气.按时间等分的叫平气.按一年中太阳所走的路程等分的叫定气.从冬至开始,每隔一个气,如:大寒,雨水,春分……等都叫中气;其余十二个,如:小寒,立春,惊蛰……等都叫节气.朔是中国古代历法的阴历成分.日月的黄道经度相同的时刻叫朔.月亮绕地球转动的速度是不均匀的,它的速度变化的周期叫一个近点月.太阳周年视运动的速度也是不均匀的.它的变化周期直到明末以前一直认为就是一个回归年(见年,月).由于日,月运动都不均匀,所以每连续两次朔之间的时间也是不相等的.不过,经过长期观测统计,可以求得一个相对稳定的平均数,这个平均数就称为一个朔望月.根据朔望月推算出来的朔,叫平朔.对平朔进行日,月运动不均匀性的改正,得到真实的朔,称为定朔(见朔望).中国古代的民用历法根据气,朔的变化,可分三个时期:①从春秋战国时代到唐初,是使用平气,平朔时期.②从唐初到明末,是使用平气,定朔时期.③清代以后,是使用定气,定朔时期.
历法计算要点 为了推算每年的历谱,首先要定一个计算起点,叫做历元.中国古代历法大多数取下列这样的理想时刻为历元:某年十一月甲子日的夜半,它正好是朔和冬至,而且又是月过近地点(即月行速度最快的点)的时刻,等等.由于各种历法的数据不同,所以它们推得的理想时刻也各不相同.不过这样的理想时刻通常离开历法行用的年份都十分遥远.这种历元称为上元(见上元积年).
设a为一回归年时间,b为一朔望月时间,c为一近点月时间,单位均为"天".又设y为从上元起到所求年的累计年数.则ay就是从上元起到所求年的冬至的全部时间.因为干支纪日以60天为一周,所以用60去除ay,所得余数r1,就是所求年的冬至时刻到前面一个甲子的夜半的全部时间.这个时间的天数部分叫做大余,不足一天的零数部分叫小余.通常历法都规定,大余"命甲子算外",即以甲子日为0,乙丑日为1,等等.因此,根据大余的数字,就可以知道所求年冬至日的干支日名.有的历法"命甲子算上",则应以甲子日为1,乙丑日为2,等等.还有少数历法,如北宋的《纪元历》,不选甲子日,而选己巳日为上元,命己巳算外,则大余就以己巳为0算起,庚午为1,等等.小余就是从夜半起算到发生冬至这瞬间的时间,可以把它按十二时辰制或百刻制等时刻制度(见漏刻),化成时刻.从r1累加一气的时间a/24,就得冬至以后各气的干支日数及时刻.
上述r1的算法,数学上习惯用一个算式来表达:ay≡r1(mod60).这种算式叫一次同余式.仿此,可以列出其他的一次同余式:ay≡r2(modb),ay≡r3(modc).r2就是所求年冬至离开十一月平朔的时间间隔.r3则是所求年冬至离月亮上一次过近地点的时间间隔.r1- r2就是十一月平朔离上个甲子日夜半的时间.也和冬至的情况一样,它的整数部分代表甲子日以来的干支日数,零数部分则是从夜半算起到发生平朔的时间.
设这个时间为t0一般历法都给出一份太阳运动表,一份月亮运动表.从太阳运动表,根据所求的十一月平朔在二十四气中的位置(或者,十一月平朔在大雪气后,相距时间为 ;或者,如若,即十一月平朔在大雪气前,在小雪气后,这时,离小雪的时间为),使用内插法可以推算因太阳运动不均匀而引起的定朔改正数Δts;从月亮运动表,根据所求的十一月平朔在一个近点月周期中的位置(即r3),也是用内插法,可以推算因月亮运动不均匀而引起的定朔改正数Δtm.于是,十一月定朔t=t+Δts+Δtm.t>1,定朔在平朔的次一日;t<0,定朔在平朔的前一日;0 中国古代有的历法不用前述特殊时刻的上元,而用近距取元,即取某个已知r1,r2,r3值(设为a1,a2,a3)的年的冬至时刻为历元.例如《授时历》就是以历法制定的那年的冬至时刻为历元.它把a1称为气应,a2称为闰应,a3称为转应.这时,一次同余式组改为:
ay+a1≡r1(mod60),
ay+a2≡r2(modb),
ay+a3≡r3(modc).
中国古代历法还有更丰富更广泛的内容.它包括日,月,五星的运动和位置的计算;昏,旦中星和时刻的测定;日,月食的预报等等.就某种程度来说,中国古代的历法就是一种编算天文年历的工作.它包括中国古代天文学的许多重要内容.它的发展是中国天文学史的一条主线.
藏历 指中国藏族的历法.今西藏自治区拉萨大昭寺前保存有长庆年唐蕃会盟碑,碑文为藏文,碑中有藏历与唐历的对照.碑文中说:"大蕃彝泰七年,大唐长庆元年,即阴铁牛年,孟冬月十日也."孟冬月为冬季第一个月.藏历纪年以五行,十干,十二支配合.十干配五行,木以甲阳乙阴,火以丙阳丁阴,土以戊阳己阴,金以庚阳辛阴,水以壬阳癸阴.干支纪年以五行区别阴阳,不用十干之名.十二支则用十二属兽名.故上阴铁牛年(铁为金)即为辛丑,与唐长庆元年干支相合.
清康熙二十六年(公元1687年)藏族的桑杰嘉措撰《白琉璃》书,其中有年历表,以撰书年为零年,上推660年,说:"《时轮根本密典》传入西藏,因此定是年为六十周年之始."按以1687年减660年为1027年,当丁卯,于藏历为阴火兔,相传藏历始于阴火兔年的说法即源于此.
藏医名著《四部医典》卷二第十四节论各时节的生活习惯,其中也介绍了藏历.说:"一年为六季,分为十二个月."又说:"一百二十瞬息为一喀其摩,六十喀其摩为一怛,三十怛为一由赞,三十由赞为一昼夜,叫宁懈,三十宁懈为一月." (严敦杰,席泽宗)
中国传统历算术语解释
斗建
斗建的意义是《史记·历书》集解所说的"随斗杓所指建十二月".公元前4000~前1000年间,北斗七星比现在更接近北天极,处于恒显圈内,每天晚上都可见到.在中国古代,发现不同季节的黄昏时,北斗斗柄的指向是不同的.因此,把斗柄的指向作为定季节的标准.《鹖冠子》说:"斗柄东指,天下皆春;斗柄南指,天下皆夏;斗柄西指,天下皆秋;斗柄北指,天下皆冬."这就是指当时不同季节里黄昏时看到的天象.春秋战国时期,天文学有了进一步的发展,为使斗柄指示的方向与月份更密切配合,人们将地面分成十二个方位,分别以十二地支表示:正北为子,东北为丑,寅,正东为卯等等.夏正十一月黄昏时斗柄指北方子,十二月,正月指东北方丑,寅,二月指东方卯,……十月指西北方亥,下一个十一月又回到北方子.这就是古代天文历法中经常提到的"十一月建子,十二月建丑,正月建寅"等十二月建.
三正
指三种不同岁首的历法."正"是指正月.三正是夏正,殷正,周正.《左传》说:"火出,于夏为三月,于商为四月,于周为五月."大火星黄昏中天时,夏历为三月,商历为四月,周历为五月.这表示三种历法的正月是在不同的时节.《史记·历书》说:"夏正以正月,殷正以十二月,周正以十一月."这是以夏历为标准的.这两种说法实质是一致的.《左传》,《史记》都认为夏朝用夏正,商朝用殷正,周朝用周正.古人也大都沿用此说.《史记·历书》更认为:"盖三王之正若循环,穷则反本",意思说,三种历法是轮流交替行用的.这种说法是汉代的一种历史循环论"三统说"的一个组成部分.到近代,中国的王韬,朱文鑫,rb的新城新藏等人根据对《春秋》历法的研究,认为三正交替之说,只是春秋战国时宣传改变历法的托词,未必真有其事.科学史专家钱宝琮更认为,所谓夏,殷,周三种历法,实际是春秋时代夏,殷,周三个民族地区的历法,而不是三个王朝的历法.
朔望
朔是指月球与太阳的地心黄经相同的时刻.这时月球处于太阳与地球之间,几乎和太阳同起同落,朝向地球的一面因为照不到太阳光,所以从地球上是看不见的.望是指月球与太阳的地心黄经相差 180°的时刻.这时地球处于太阳与月球之间.月球朝向地球的一面照满太阳光,所以从地球上看来,月球呈光亮的圆形,叫作满月或望月.从朔到下一次朔或者从望到下一次望的时间间隔,称为一朔望月,约为29.53059日.这只是一个平均数,因为月球绕地球和地球绕太阳的轨道运动都是不均匀的,二者之间也没有简单的关系.因此,每两次朔之间的时间是不相等的,最长与最短之间约差13小时.在中国古代历法中,把包含朔时刻的那一天叫作朔日,把有望时刻的那一天叫作望日;并以朔日作为一个朔望月的开始.在历日的安排中,通常为大小月相间,经过15~17个月,接连有两个大月.
东汉以前的历法中,都是把月行的速度当作不变的常数,以朔望月的周期来算朔,算出的朔后来称作"平朔".东汉前后发现了月亮运动的不均匀性,此后人们就设法对平朔进行修正,以求出真正的朔,称为"定朔".首次载有这种修正算法的历法,是刘洪创制的《乾象历》.隋代刘焯的《皇极历》,才把日行也有迟疾(就是地球绕日运动不均匀性的反映)的因素考虑到"定朔"的计算中去.
上元积年
古代历法中一般都设有历元,作为推算的起点.这个起点,习惯上是取一个理想时刻.通常取一个甲子日的夜半,而且它又是朔,又是冬至节气.从历元更往上推,求一个出现"日月合璧,五星联珠"天象的时刻,即日月的经纬度正好相同,五大行星又聚集在同一个方位的时刻.这个时刻称为上元.从上元到编历年份的年数叫作积年,通称上元积年.上元实际就是若干天文周期的共同起点.有了上元和上元积年,历法家计算日,月,五星的运动和位置时就比较方便.中国推算上元积年的工作,首先是从西汉末年的刘歆开始的.刘歆的《三统历》以 19年为1章,81章为 1统,3统为1元.经过 1统即1,539年,朔旦,冬至又在同一天的夜半,但未回复到甲子日.经 3统即 4,617年才能回到原来的甲子日,这时年的干支仍不能复原.《三统历》又以 135个朔望月(见月)为交食周期,称为"朔望之会".1统正好有141个朔望之会.所以交食也以 1统为循环的大周期.这些都是以太初元年十一月甲子朔旦夜半为起点的.刘歆为了求得日月合璧,五星联珠的条件,又设 5,120个元,23,639,040年的大周期,这个大周期的起点称作太极上元.太极上元到太初元年为 143,127年.在刘歆之后,随着交点月,近点月等周期的发现,历法家又把这些因素也加入到理想的上元中去.
日,月,五星各有各的运动周期,并且有各自理想的起点,例如,太阳运动的冬至点,月亮运动的朔,近地点,黄白交点等等.从某一时刻测得的日,月,五星的位置离各自的起点都有一个差数.以各种周期和各相应的差数来推算上元积年,是一个整数论上的一次同余式问题.随着观测越来越精密,一次同余式的解也越来越困难,数学运算工作相当繁重,所得上元积年的数字也非常庞大.这样,对于历法工作就很少有实际意义,反而成了累赘.后经曹士蒵,杨忠辅等作尝试性的改革以后,元代郭守敬在创制《授时历》中废除了上元积年.
岁星纪年
中国古代很早就认识到木星约十二年运行一周天.人们把周天分为十二分,称为十二次,木星每年行经一次,就用木星所在星次来纪年.因此,木星被称为岁星,这种纪年法被称为岁星纪年法.此法的起源年代还不清楚,但在春秋,战国之交很盛行.因为当时诸侯割据,各国都用本国年号纪年,岁星纪年可以避免混乱和便于人民交往.《左传》,《国语》中所载"岁在星纪","岁在析木"等大量记录,就是用的岁星纪年法.
除了十二次之外,天上又有十二辰的分划(用子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥十二地支来称呼).它的计量方向和岁星运行的方向相反,即自东向西.由于十二地支的顺序为当时人们所熟知,因此,人们又设想有个天体,它的运行速度也是十二年一周天,但运行方向是循十二辰的方向.这个假想的天体称为太岁.当岁星和太岁的初始位置关系规定后,就可以从任何一年岁星的位置推出太岁所在的辰,因而就能以十二辰的顺序来纪年.当时又对太岁所在的子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥十二个年,给以相应的专名,依次是:困敦,赤奋若,摄提格,单阏,执徐,大荒落,敦牂,协洽,涒滩,作噩,阉茂,大渊献.如《汉书·律历志》有:汉高祖元年"岁在大棣(鹑首),名曰敦牂,太岁在午"的记载.有了地支关系,再配上天干,就与干支顺序相联.在岁星纪年中,对甲,乙,丙,丁,戊,己,庚,辛,壬,癸十个年也给以专名,依次为:阏逢,旃蒙,柔兆,强圉,著雍,屠维,上章,重光,玄黓,昭阳.这样,甲寅年可写为阏逢摄提格,余类推.这些岁名在不同的古书中有不同的写法.上面所列的是《尔雅·释天》所载的通用写法.
岁星实际约11.86年运行一周.过八十多年,岁星实际位置将超过理想计算位置一次.岁星纪年法用久之后,就与实际天象不符.于是,必须改革历法,调整岁星和太岁的位置.因此,当时各种历法的岁星纪年法是有出入的.汉太初以后,岁星纪年法与后世的干支纪年法相连接,从太初上溯至秦统一中国时,岁星纪年比干支纪年落后一辰,上溯至战国时期则落后二辰.西汉末刘歆提出岁星每144年超一次的算法,但实际上未在纪年法中应用.东汉改用《四分历》时,废止了岁星纪年法,沿用干支纪年法.
干支
以六十为周期的序数,用以纪日,纪年等.它以十天干:甲,乙,丙,丁,戊,己,庚,辛,壬,癸和十二地支:子, 丑,寅, 卯,辰,巳,午,未,申,酉,戌,亥顺序相配组成.从甲子,乙丑……直至癸亥(见附表).干支在中国历法史上占有重要地位.早在殷商时代就使用六十干支纪日.一日一个干支名号,日复一日,循环使用,从不间断.中国的历史虽然很长,只要顺着干支往上推,历史日期就清清楚楚.这是中国古代创用干支法的功绩.在古代历法中也使用干支法,只要求出气,朔的干支,其余就一目了然.干支法不但用于纪日,还用于纪年(见岁星纪年).古人也用十二地支纪时,纪月.地支纪时就是将一日均分为十二个时段,分别以十二地支表示,子时为现在的二十三点至一点,丑时为一点至三点,等等,称为十二时辰.地支纪月就是把冬至所在的月称为子月,下一个月称为丑月,等等.从《两千年中西历对照表》(生活·读书·新知三联书店1956年版)有西汉平帝元始元年(公元1年)以来二千年的年和日的干支.