与“公元前”相关的几个历法问题!

春秋右传读过去 2024-08-21 02:33:17

第一个问题,是我们所谓的“公元前”实际上是指儒略历,而不是现行的公历,即格利高历。儒略历是罗马皇帝在公元前45年1月1日颁布实施的。这个历法规定每年365天,每四年设置一个闰年,即在当年的2月份增加一日,即29日。由于四年一闰,所以儒略历的平均年长度是365.25天。

第二个问题,就是儒略历改为格利高历,时间点是1582年10月15日。从1582年10月15日这一日之后,儒略历被废除,格利高历开始执行。在更改历法的时候,原来的儒略历已经误差达到14天之多,为此格利高历直接将儒鲁历的10月5日当作了格利高历的10月15日。格利高历的平均年长度是365.2422天。这个历法为了准确,每四年置一闰年,但每逢百年、千年这种年份,不能置闰,即每100年要少一闰日。但例外的是,如果这个年份能被400整除,则可以置闰。这也是为了精确。原因就在于365.2422天这个平均天数的最后两位小数。格利高历的精确度为2万年不到1天的误差。

第三个问题,在精确的历史概念上,1582年10月15之后的历史都是格利高历,而1582年10月4日前的历史都是儒略历。包括公元前的日期,都是儒略历。因此,通常概念中的公元前时间,是儒略历确定的时间。在儒略历期间,但凡能被4整除的年份都置闰了,包括公元0年。这些历法的变化因素,包括1582年10月为了改成格利高历法而省略掉的那十天,都已经成为历史,并已经被纳入到了天文软件的程序之中。所以,现在提到的公元前日期,也是一个相对的日期,其中就包括了历法的沿革历史及其误差。

第四个问题,如果历史概念中涉及的是公元前的具体日期,是不能简单用现代的公历常识直接套用的。比如冬至日期,现在一般是12月21日或22日。而在公元前,冬至的日期时间就与今天的常识概念有所差异了。

第五个问题,现行公元前的纪年表达方式,在数学上其实是存在公元零年这个概念的,但是在实际使用时,一般把这个数学意义上存在的公元零年当作了公元前1年,所以在软件编程处理时,把公元前655年表达成了负值的654年,因为有公元“0”年概念的存在。但在处理这一年是不是闰年这个问题时,软件使用的却是一个简单处理方式,即由公元前的实际年份直接除4来看是不是整数。这样的数据处理方法其实是存在缺陷的。这导致公元前4年到公元4年之间,7年之间,设了三个闰年。明显是偏多了。最合适的方式,公元前的年份在计算机中还是应该用负值参与运算,这样公元前4年就是负3,是不能被4整除的,自然是不该成为闰年的。

第六个问题,对于公元前655年,即鲁僖公六年这一年的冬至日,根据笔者的推算,应该是12月25日。但从根本上看,这个日期之所以不落在21日或22日,就在于儒略历的闰年多,而格力高历的闰年少。如果公元前45年这一年的冬至日测定是很准的,则按照公元前600年算,由于其中包含了一个400年,所以大约多设了5个闰年。因此儒略历的12月28日(杨伯峻的乙未日)相当于格利高历的12月23日。同样,12月25日就相当于12月20日。因此这两个推算时间都很接近21日或22日了。但由于格利高历与儒略历实际上是不连续的,加之儒略历本身就不规范,所以在日期上出现1天的差异是完全可以理解的。

0 阅读:4