现行公历的发展及转换由 eureka 提交于 星期一, 2005-03-28 09:10e历法
现行公历是从1582年10月15日才开始颁行的,之前的纪年、纪日都是儒略历的纪年、纪日。在历史上,罗马历法一共有三次重大变革。首先是公元前46年(罗马纪元708年),罗马执政官儒略·恺撒(Julius Caesar)下令从次年(公元前45年)起行用新历法。当时罗马人一直用一种很不成熟的阴阳历,为了实现这种旧历和新历之间的平稳转换,这一年多加了两个月,竟长达445天,史称“乱年”(拉丁文annus confusionus,英文the year of confusion)。和这种旧历不同,新历是纯粹的阳历,规定每四年一闰,单月31天,双月(除二月外)30天,平年的二月29天,闰年加一天,即也是30天。因为新历法的岁首比旧历提前了两个月(即以旧历11月1日为新历元旦),但是月份名称仍然使用旧历的名称,所以现在公历9-12月的英文月份名分别是September, October, November, December,而sept-, octo-, nov-和dec-本来是拉丁文里表示“七、八、九、十”的词根。儒略历是由罗马独裁者儒略·恺撒采纳埃及亚历山大的希腊数学家兼天文学家索西琴尼计算的历法,在公元前46年1月1日起执行,取代旧罗马历法的一种历法。设12个月,每年设365.25日,四年一闰,交替大小月。1500年后由于误差较大,被教皇格里高利十三世改善,变为格里历,即公历沿用至今。 [附月份名称:一月 Ianuarius 名字来自古罗马神话的神雅努斯。 二月 Februarius 名字来自古罗马的节日Februa。 三月 Martius 名字来自古罗马神话的战神玛尔斯。 四月 Aprilis 名字来自古罗马的词aperire,意思为“开始”,意味着春天开始。 五月 Maius 名字来自古罗马神话的花神玛亚。 六月 Iunius 名字来自古罗马共和国的创始人Iunius。 七月 原名Quintilis,后改Iulius。八月 原名Sextilis 后改Augustus。原名是“第六”的意思,因为后来独裁者屋大维是生于此月,元老院将此月改为他的称号“奥古斯都”,原来应排为小月,从二月中抽出一天补上,变为大月,将后面的月份重新排大小月。 九月 September 拉丁语“第七”的意思。 十月 October 拉丁语“第八”的意思。 十一月 Novembris 拉丁语“第九”的意思。 十二月 December 拉丁语“第十”的意思。 ] 但是,在这种新历颁布之后,置闰一度发生失误。颁布历书的官员错误地把恺撒的“每隔三年一闰”理解为“每三年一闰”,这就促成了公元前9年,罗马皇帝奥古斯都(Octovian Augustus)下令进行罗马历法的第二次重大变革。这时候,已经多闰了三次,如下: 应闰之年 前45 前41 前37 前33 前29 前25 前21 前17 前13 前9 前5 前1 公元4 实闰之年 前45 前42 前39 前36 前33 前30 前27 前24 前21 前18 前15 前12 前9 因此,为了消除这个失误,奥古斯都规定,公元前9年之后的三个应闰之年,即公元前5年、前1年和公元4年,都改为平年,这件事史称“罗马失闰”。同时,因为他曾在八月取得过重大的军事胜利(一说是因为他生于八月),他又决定从次年(公元前8年)起改八月为31天,同是调整以后各月的天数,原为大月31天的九月、十一月改为小月30天,原为小月30天的十月、十二月改为大月31天,二月则再减去一天,平年28天,闰年29天。儒略历至此定型,以后一直沿用了将近一千六百年。 但是,儒略历的一回归年长度为365.25天,比实际的365.2422天多11分14秒,积累下来,128年就差一天,400年就差三天多。到将近一千六百年后的公元1582年,已经差了十天,以致当年的春分日竟从3月21日提前到3月11日。鉴于此,当时的教皇格里高利十三世(Pope Gregory XIII)再次改革历法,下令以当年10月4日的第二天为10月15日,但星期保持连续。同时,为了避免以后再发生这种误差,改进了置闰规则,即年份能被4整除的是闰年,但对于末尾是00的年份,必须被400整除才不是闰年。这样一来,新历法一回归年的长度变为365.2425天,和实际值已经很接近,每三千多年才会差一天。这种新历法就是现在我们仍在使用的公历,也称格里高利历。 由于公历颁布得比较晚,距今不过四百多年,之前长达近一千六百年都是用儒略历。为了方便起见,历史学界所使用的历表在1582年10月15日之后使用公历纪日,之前一律使用儒略历纪日。这样一来,除了公元前8年以前的日期需要倒推确定外,以后的史料中的日期都可以直接拿来用了。其他各国的古历,也都这样转化为儒略历或公历,以求国际上的统一。这样的纪日法,总的来说也可以统称为公历纪日。 了解了这段历法改革的历史,我们也就可以给出儒略历和公历相互转换的公式了。因为儒略历和公历每四百年差3天,既然在儒略历1501年3月1日-1582年10月4日这一段时间内,两历的日期总共差10天,倒推回去,在儒略历200年3月1日-300年2月29日这一段时间内,两历的日期是相同的。再往前,儒略历的日期反而比公历要靠后了。这样就有: 比如,儒略历公元1500年2月26日,因为年份末尾是00,2月26日在3月1日之前,所以C=15,于是有:Δd = 15 - [(15-1)/4] - 3 = 9, 公式(1)提供了对儒略历日期和公历日期的间隔日数的计算,借此就可以对两历日期进行换算。但在计算儒略历日期的星期和日干支的时候,先转换成公历再计算还是显得麻烦,为此,我们可以专门推导适用于儒略历日期的计算星期和日干支的公式,如下: W = (5-C) + y + [y/4] + [13 * (M+1) / 5] + d - 1; (2) g = (5C-2) + [C/4] + 5y + [y/4] + [3 * (M+1) / 5] + d - 3; (3) z = (9C-2) + [C/4] + 5y + [y/4] + [3 * (M+1) / 5] + d + 7 + i(奇数月i=0,偶数月i=6) (4) 或z = g + 4C + 10 + i(奇数月i=0,偶数月i=6) (5) 和相应的适用于公历日期的计算星期和日干支的公式相比,区别仅在于和世纪数减一有关的项不同(这里为了更好地对比,没有把常数项全部合并),其他各项都是一样的,而公式(5)则对公历日期和儒略历日期都适用。 原文:葛民勤,修改:Eureka。在原文的基础上添加了一些内容 答复 |
||




