自古以来,世界各国使用过许多不同的历法,大致可分为3类,将地球绕太阳公转一周的时间定为一年,即以太阳为标准制定的历法,叫“阳历”,又称“太阳历”。将月亮圆缺变化一个周期定为一个月,即以月亮为标准制定的叫“阴历”。再一类就是以阳历为主,以阴历为辅的“阴阳历”。
现在世界上广泛使用的公历,其来源可追溯到距今4700年前古埃及的太阳历。
那时,埃及人已经在尼罗河两岸进入定居的农业生活。尼罗河每年7月定期泛滥,10月底河水退入河床,在农田里留下了一层肥沃的淤泥。埃及人就在11月进行播种,第二年三四月份进行收获。为了不违农时,及时抓紧农业生产,埃及人渐渐懂得必须掌握尼罗河水的涨落期,准确地计算时间,也就是需要有一种历法。
聪明的埃及人了创造了一个非常简便的方法:把尼罗河每次泛滥的时间刻在木杆上,然后加以比较,从中发现两次泛滥之间总是相隔365天上下。另外又发现,每当尼罗河的潮头涌到今埃及首都开罗附近时,天狼星与太阳同时从地平线升起。因此他们把一年定为365天,而把天狼星与太阳同时从地平线升起的那一天,作为一年的起点。一年分为12个月,每月30天,余下的5天作为年终节日。这就是古埃及的太阳历。
太阳历把一年定为365天,这与地球绕太阳公转一周的“太阳年”的时间,即365天5时48分46秒相比较,只相差一天的1/4。这在6000多年前已经是很准确了。但是,一年相差1/4天并不觉得,每经过四年就要相差一天。而经过730年,历法上的时间与实际时间却相差了半年,寒暑正好颠倒过来。这种岁差当然会给农业生产带来麻烦。但尽管如此,它还是传到了欧洲。公元前8世纪前欧洲使用的罗马历法(阴阳历)比古埃及的太阳历落后得多,春夏秋冬错乱无序。每年只有10个月,因而一些值得纪念的大事都不知在哪一天发生的。
到了公元前46年,罗马历法落后埃及太阳历整整80天,给人们生活带来麻烦,罗马统帅儒略·凯撒在天文学家索西琴斯的建议下决定以埃及的太阳历为蓝本,来编制历法。儒略历法对埃及太阳历年约1/4天的误差作为这样的调整:设平年和闰年,平年365天,闰年366天。每4年置一闰年。单月每月31天,双月中的2月平年29天,闰年30天,其它双月每月30天。这样就更接近回归年了。凯撒死后,继承人奥古斯都因为自己生在8月,便从2月抽出一天加在8月上,使8月也成为大月,即31天,同时相应把9、11两个月定为小月,10、12两个月定为大月。经过这样的改动,各月的天数与今天使用的公历差不多了。
公元325年,罗马皇帝在一次宗教会议上,规定儒略历法为基督教的历法,但没有规定哪一年是它的起点。到了公元6世纪时,基督教徒把500多年前基督教传说的创始人耶稣·基督诞生的那一天,说成是公元元年。“公元”的拉丁文的意思就是“主的生年”,用拉丁文A.D.表示。在这一年以前,称为“公元前”,英文的意思是“基督以前”,用英文B.C.表示。
罗马的儒略历虽然比埃及的太阳历进了一步,但与太阳年的时间相比,仍有11分14秒的误差,每128年又要相差一天。积累到16世纪末,竟差了10天。于是,罗马教皇格列高利十三世于1582年组织一批天文学家,根据哥白尼日心说计算出的数据,对儒略历作了修改。首先撤销了比太阳年时间迟了10天的历法日期,即这一年原来的10月5日,改为10月15日;同时把置闰的方法改为以公元纪年为标准:能被四除尽的年为闰年:但是每世纪的第一年,虽能被四除尽,而不能被400除尽的,仍然不作闰年。如公元1600年是闰年,1700年就不是。过去四年一位,400年共100闰;现在400年中有97个闰年。这样就大体上弥补了每年11分14秒的误差,要3000多年才会比太阳年的时间多计1天。这就是现今世界上通用的历法,简称公历或格列历。人们的日常生活方便多了,人类历史上发生的许多大事也有了较详细的年代记载。