北魏、北齐的天文学家张子信,经30多年在海岛上的研究,发现了太阳运动不均匀、五星运动不均以及食差现象。隋代刘焯于604年定皇极历,把张子信的三大发现引入历法,并成功地解决了三大发现的具体计算和合理应用问题。他进一步用二次内插法来校正太阳和月亮运动造成的不均匀性,改革了节气的计算方法,把原来将一个回归年的日子分成24等分的平气,在这些相等的日子里,因太阳不等速运动,其运行路程不相等的情况,改革为把黄道平分为24等分,太阳每走同样长短的一段轨道,就交一年节气。各节气之间的日子并不相等,而太阳行走的距离是相等的,叫定气。冬至前后,太阳在黄道上运行较快,一个节气只有14天多,夏至前后,运行得慢,一个节气近16天。这对准确地预报日、月食关系很大。
唐代僧一行于727年作大衍历,其编次结构合理,逻辑严密,体例完整,成为后世历法体例的楷模。从其内容上看,对太阳运动的不均匀性进行新的描述,发现了不等间距二次差内插法,建立了更准确的定气计算方法,同时对五星运动规律进行了新的探索和描述,确立了五星运动近日点的新概念,明确进行了五星近日点黄经的测算工作;他又测定了全国十三处地方的北极出地高度,能更好地推算各地日、月食见食的食分。
辽宋金时,科学的进步,历法编制得也很多。沈括曾建议用固定节气的日子来编历,性质已同现代阳历相仿。姚舜辅的纪元历(1106年)创立测金星定太阳位置的方法,同时得出一食年长度为3466199日,与理论值之差仅7秒,是我国古代得到的最佳交食周期值(杜石然等:《中国科学技术史稿》(下)1982年科技出版社。)。杨忠辅的统天历(1199年)测算了回归年长度为3652425日,误差仅22秒,是当时世界上最佳数差值(《新仪象法要》。)。同时指出回归年的长度是变化着的。他在设立历元时不用所谓元积年。长期以来,定一个甲子夜半朔旦冬至的日子作历元总是上推到数十万年甚至数千万年以前,叫上元积年。他最先改革这一陋习,元授时历完全取消。
元代郭守敬在进行大量天文观测的基础上,获得了切实可靠的一手材料,编订了授时历。授时历废止了上元积年法,而以实测历元取代之,即它以1281年为历算的起始年份,这一年的各历法要素,如冬至时刻和平朔、月亮、过近点和降交点、五星平合等等,都由实测而得,并分别令其为有关历法问题计算的起始点。废除了古代用分数来表示小数的办法,而用万分法取代,创用了十进位小数。对日月五星运动不均匀改正的计算方法,授时历明确运用三次差内插法,比欧洲早4个世纪。同时还提出黄道宿度变换、白赤道宿度变换和太阳视赤纬计算的数学公式,测定黄赤交角(黄轨道面同地球赤道平面的交角)23°90′30″,是历史上最精密的。郭守敬还组织了遍及全国的日影测量和北极出地高度测量。这使授时历成为古代最优良的日历,使用360余年,为我国古代传统历法的最高峰。明代大统历承袭此历,直到明末徐光启编《崇祯历书》,清代改用西法。
二、中国传统历法的几个基本概念
1.干支:即天干、地支,是我国古代用以记时的一套专门的序数系统,也是古人用于记录年月日时的10天干与12地支的合称,至迟商代已用干支记日。由甲乙丙丁戊己庚辛壬癸为10天干,子丑寅卯辰巳午未申酉戌亥为12地支。干支按顺序两两相配,至60循环一周,称一个甲子。干支的命名本为“干枝”,即以树木枝干纵横扶疏的状态来形容10干和12支的相配,表明是一个纵横有序的整体。同时也由于10干与12支分别来自对日、月活动特点的认识,日为太阳,月为太阴,古人以天为阳、地为阴,故而自然以10干配天、12支配地而称“天干地支”。
干支记地主要用在记年、记月、记日、记时辰等。
60甲子中最早的用法是记日,在卜辞中,几乎每一片甲骨都有干支纪日,既简单又准确,不论大月、小月、闰年、平年,总以60循环一周的方法依次记下去。
从战国起以太岁纪年,太岁又称阴岁、太阴,是人们设想中的一个理想天体。它在天穹上自东向西均匀运行,与传统的12辰方向一致,每12年运行一周天,每年运行一辰,人们便以太岁所在的辰来纪年,这是太岁纪年法。到汉代,历法家们为了纪年的准确便利,以10干来配12辰,组成60个年名,即干支相配的60甲子。东汉时,干支纪年以政府命名的形式颁行全国,直到近代。
古人很早就有“月健”的概念,即把子丑寅卯等12支与12月份相配,以冬至所在月为子月,然后类推。
以干支记时辰自汉代已实行。做法是将一昼夜划分为12个时段,再配以12地支名。这是古人根据一日间太阳出没的自然规律、天色的变化以及自己的日常生产活动、生活习惯归纳总结而得出的一种把昼夜分为12时段的历法。
干支配合可用来记年、月、日、时,干支纪年,其方法是把每一年配上一个天干和一个地支,天干在上,地支在下,按干支的顺序依次向下排列。天干第一位甲与地支第一位子相配便是甲子,这一个就是甲子年。从甲子年开始天干和地支相配合,每年不同,天干往复排列6次,地支往复排列5次,共得60年,便是一周或一个甲子。古代历法,计年月日时皆由甲子开始,一年分12个月,一日分12个时辰,每逢5年有60个月,5天有60个时辰。
2.农历:又称“阴历”,是我国长期使用的日历。中国古代历法是阴阳合历,它既重视月相盈亏的变化,又照顾寒暑节气,年月长度都依据天象而定。历月的平均值大致等于朔望月(平均295日),大月30日,小月29日,每月以月相为起讫,朔为始,望为中,晦为终。历年的平均值大致等于回归年(回归年长3652422日)平太阳日365日5时48分46秒,平年12个月,全年354或355日,比回归平年平均少10月21秒,需每3年一闰,5年再闰,19年7闰,闰年13个月全年384或385日。24四节气对农业生产有重要意义,也称为农历,它起源于阴阳历。节气表示四节寒暑变化的时期,但节气是根据太阳在黄道上的位置而决定的,应属于阴阳历中的阳历部分,从科学角度看,把旧历叫做“农历”是不恰当的。由于“农历”在我国历史悠久,各族共同使用,众多民俗增多与农历及其24节令密切相关,“年中行事”,均以农历来确定岁时、岁事、时节、月令、时令的。
3.二十四节气:我国民间传统节令。古人根据太阳在黄道上的位置(黄经)变化和地面气候演变次序,将全年划分为24个段落,每段约隔半月,分在12个月里,有立春、惊蛰、清明、立夏、芒种、小暑、立秋、白露、寒露、立冬、大雪、小寒12个节气及雨水、春分、谷雨、小满、夏至、大暑、处暑、秋分、霜降、小雪、冬至、大寒12个中气,统称24节气。与农业气候密切相关,是先民为适应天时的总结,它综合了天文与物候、农业与气象的经验,是农历的重要组成部分,是祖先在历法上的独创之举。
从先秦时“土圭”测日影,定二分二至到秦的8个节气(二分二至四立),至汉代已形成完整的24节气。24节气各有含义,大多与农业生产相关,例如24节气之首的立春,表示春季开始,气温回升,草木复苏,农村开始备春耕。惊蛰,表示天气转暖,冬眠动物出土,渐有雷鸣。华中有“过了惊蛰节,春耕不停歇”的农谚。昼夜几乎等长的春分,越冬作为进入生长期。华中有“春分麦起厚,一刻值千金”之谚。谷雨有“雨生百谷”之意。民间有谚“要得棉,谷雨前”。作为夏季开始的立夏,是农作物生长旺盛、田间管理繁忙之时。有“立夏三朝遍地锄”的农谚和“立夏不下雨,犁耙高挂起”的占卜丰歉的农谚,等等。
4.“朔”:日月的黄道经度相同的时刻叫朔。月亮绕地球转动的速度不均匀,其速度变化周期叫一个近月点,太阳周年初运动速度也不均匀,其变化周期直到明末以前一直认为就是一个回归年。由于日、月运动的不均匀,连续两次朔望之间的时间也不相等,于是只能通过长期观察统计而得一个相对稳定的平均数,这一平均数就是一个朔望月。
三、中国古代历法中的人文因素
星象的变化与人间政事的附会,致使以星象观测为基础而编订的中国古代历法亦不可避免地渗入了人文因素而独具特色。
民间信星命之说,星宿家们根据黄道上六大星的运行来划分吉日,这便是所谓黄道吉日。这六大星是青龙、明堂、金匮、天德、玉常、司命,六星值时的日子,诸事皆宜,不避凶恶,为黄道吉日。星宿家认为,六大星辰,得之为吉,不得为次,悖之为凶。凶神值日,自然凡事不取;凡破大耗之日,则为大凶。喜、丧、庆、典自然要挑办事吉利的黄道吉日。
周代,“告朔”(即颁布朔日)是一种权力的象征,故历代王朝对新的颁布看得很重要。同时,各朝代为维护自身统治地位,要借助各种规章制度,来规范政治经济和社会生活,′要配合天象、民情、习俗、数理等各种形式来编制历书,因此历书成了具有特殊功能的工具,因是皇帝授命所订,又称皇历,清代以后封面多用黄色,又称黄历。历书编制在各朝代均为官方所把持。以清代为例,历法编纂以实行、政权、礼制为基本标准,不仅限于记载农时、节气、春种秋收之类,还包括集星相学、历算书及江湖术士的所谓五行、阴阳、吉凶、福祸、命运、婚配、住宅、坟地等内容,几乎成了民间各种活动的行为规范和指南。这与最早的皇帝颁布历书的初衷大相径庭。