文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>一条Linux命令,一段人类文明

一条Linux命令,一段人类文明

时间:2007-04-23  来源:mjwdj

以前听人说在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天!
相关阅读 更多 +
排行榜 更多 +
风雷

风雷

角色扮演 下载
蜘蛛战士模拟

蜘蛛战士模拟

动作格斗 下载
仙栎日语

仙栎日语

学习教育 下载