至于“期三百有六旬有六日,以闰月定四时成岁”的记述,更说明了历法的萌芽。年、月、日概念的建立是历法得以产生的基础,一年有366天的识别,又设置闰月来协调季节和月分的关系,这是天文学的重大进步。殷商甲骨文已有十二个月的名称,还有大量十三月的记载,这是“以闰月定四时成岁”的证明。从甲骨文的片断记载可以推论殷代历法已有相当水平,它大体上是以干支记日,以月亮圆缺的周期记月,以冷暖循环来记年,一年有12个月,月有大小之分,大月30天,小月29天,闰年有13个月。这一阴阳合历的传统流传至今,成为我国古历的重要特点。
殷周至春秋战国,各诸侯国行用不同的历法,计有夏、殷、周、鲁、黄。
它们的不同在于岁首,黄帝、周、鲁三历以十一月(子月)为岁首,称建子,殷历以十二月(丑月)为岁首,称建丑,夏历以正月(寅月)为岁首,称建寅,这就是“三正”之说。此外还有颛顼历以小月(亥月)为岁首,称建亥,目前由于资料缺乏,对这些历的详情还不太清楚。
天文和历法的发展基于天象观测,我国古代天象观测记录是世界公认最悠久最系统的。《夏小正》一书中按月分记录了天象和物候的关联,如“正月,……初昏参中,斗柄悬在下”,“四月昴则见,初昏南门正”,“五月,……初昏大火中”等等,该书虽然成书较晚,但这些天象记录如实地反映了三四千年前的天象。《鹖冠子》也记载“斗柄东指,天下皆春,斗柄南指,天下皆夏,斗柄西指,天下皆秋,斗柄北指,天下皆冬”,这是三四千年前的天象。
殷墟甲骨文中包含着更多的天象记录,公元前十二至十四世纪的日月食记事,现在能大体定出时间的有四次日食,五次月食,无疑是世界上最早的。甲骨文中记录大火附近出现新星,它比古希腊伊巴谷Hipparchas(前二世纪)记录的第一个新星(公元前134年)要早一千多年。比甲骨文稍晚的金文中有大量的西周月相记录,如初吉、既生霸、既望、既死霸等等,虽然对它们的含义是指一个月中的某一天或者某一部分还有争论,但其同月相变化有关是没有疑问的。西周和春秋时代的天象记录在《诗经》中也有不少反映,著名的《豳风·七月》诗记载了天象与物候的关系,以及当时的历法知识;《小雅·十月之交》的日食和月食记录,引起了研究者的很大兴趣,据中外学者考证,十月辛卯朔的日食和紧靠着的一次月食可能发生于公元前776年9月6日和8月21日,但另一些人认为是公元前735年11月30日和12月15日,因为前次日食通过北极圈之内,中国黄河流域不可能见到。《诗经》中关于恒星的记述已有28夜中十宿的名称,还有牛郎、织女、银河以及金星的不同名称——启明和长庚。[Page]