Chinaunix首页 | 论坛 | 博客
  • 博客访问: 595325
  • 博文数量: 70
  • 博客积分: 3219
  • 博客等级: 中校
  • 技术积分: 1197
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-13 12:20
个人简介

谢谢您的对我的博客的关心,同时希望这个站点真的能够对您有所帮助。 如果可以请告诉我你的联系方式(可能的话告诉我两个或更多,我不希望失去任何一个关注本主页人士的联系,不论你是我的老友,或是一位新朋友,对于我来说您十分重要)

文章分类
文章存档

2021年(1)

2020年(13)

2018年(1)

2013年(12)

2012年(2)

2009年(2)

2008年(6)

2007年(20)

2006年(13)

分类: LINUX

2007-04-23 17:33:23

以前听人说在Linux上可以查到一个很奇怪的月份,只是当时忘了那个特殊的月份。今天在网上搜了一下,发现通过这个命令(月份)了解了一段人类文明历史。呵呵。虽然和Linux没什么关系,但是确实是因为Linux才让我了解到的。
# cal 9 1752

September 1752
S M Tu W Th F S
1 2 14 15 16
1 7 18 19 20 21 22 23
2 4 25 26 27 28 29 30

我们发现1752年9月2日的后面竟然是14日,确实很奇怪,通过在网上搜索,找到了答案:

1582年2月,罗马教廷要求从1582 年10月中减去10天,因此1852 年10月4日后面紧跟着就是15日。 在意大利、西班牙等国家都这样处理了。其他天主教国家也很快跟着这么做了,但是新教国家不愿意修改, 而且希腊等东正教国家直到20世纪初才修改,所以这个改革在英国及其殖民地(包括美国)在1752年9月才被执行。这样 1752 年9月2日后面跟着的就是1752 年9月14日。 这就是为什么cal会生成上面输出的原因了。

P.S.:Windows用户是没福气查到这个特殊月份了,因为Windows的纪年范围只是1980-2099。呵呵

以上文章摘自ChinaUnix的BBS。

但如果看仔细的朋友会发现:1582年,罗马教廷减去的是10天,而到1752年修改历法的时候却减去了11天,当初我在论坛上发现不少人发现这个问题,但始终没答案。

其实很简单,不少学计算机编程的人通常都会做个万年历的习题,当然要考虑到闰年的问题,闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。

写到这里有人会用cal命令查看一下,结果却出人意料!

1600年和1700年的2月都是29天!

原来在1800年之前的闰年计算方法中没有把被100整除而不能被400整除的年份算为平年,更没有考虑到被100整除也可被400整除的算为闰年。

所以罗马教廷把1700年的2月算成29天,而1600年的2月却是阴差阳错地恰好与现行的历法相符。结果1582年到1752年之间,当时历法算法和现行历法算法实际只相差了1天!

阅读(2059) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

hyq54362008-12-01 22:35:05

长见识了!!!