cal坏了吗?1752年9月发生了什么?


28

如果查看输出,cal 9 1752您将看到以下奇怪的输出:

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

名为“下面的故事CAL 9 1752解释说,” “被复制在90年代初一个新闻列表的出并在存档的有趣的东西集合了计算机的观众由David G.怀斯曼(网络管理员在计算机科学系大学部西安大略省)。

最初在某些旧版本7机器上编写“ cal”命令的人的代码中出现一个错误的错误。当malloc的变量覆盖12个额外的零字节字节时,这显示为一些错误的输出,从而导致上面看到的奇怪的日历输出。

现在,在他的右脑中没有人真正在乎1752年9月的日历。即使在UNIX下也没有1752年的想法,因为直到1970年初UNIX才开始出现。因此,甚至没人知道“ cal ”,直到很晚才出现此错误。到那时,有成千上万的“ cal”副本在周围浮动,其中许多仅是二进制文件。修复所有问题为时已晚。

因此,在1975年中,AT&T的一些高级官员会见了教皇,并达成了协议。追溯地更改了日历,使1752年9月与UNIX现实保持一致。由于历是计数改为向后从1752年9月14日,没有日期后受到了影响。之前的日期全都移动了12天。他们还修复了“ cal”手册页,以将错误记录为功能。

从9月3日到9月13日的11天简直就是记录。他们搜索了历史书籍,发现幸运的是,在那11天中没有发生任何有意义的事情。

总体而言,这整个事件几乎是非事件。后来一位科幻小说家听说了这件事,并将其放到科幻小说的完整作品《天堂的车床》中,我认为这本书与真实发生的情况几乎没有相似之处。

对输出异常的真正解释是什么?


14
/humor在发布的网址中看不到目录吗?;)
alex

1
该链接使我笑了起来。
2011年

1
...输出又出了什么问题?:p
d33tah 2014年

通用的公历似乎更合理,否则您需要了解国家/地区,宗教等才能准确确定日历。
jfs

1
甚至在1752年的想法在UNIX下都不存在... ...但是UNIX的想法在1752年存在吗?
Alois Mahdal

Answers:


49

要追溯真实的故事,请尝试man cal自己运行:

The Gregorian Reformation is assumed to have occurred in 1752 on the 3rd
of September.  By this time, most countries had recognized the reforma-
tion (although a few did not recognize it until the early 1900’s.)  Ten
days following that date were eliminated by the reformation, so the cal-
endar for that month is a bit unusual.

然后,如果您的历史是粗略的,请继续浏览Wikipedia,以获取有关格里高利历法引入的更改及其在世界各地采用的历史的信息:

公历的改革包括两个部分,对教皇格雷戈里时期使用的朱利安历法进行的改革,以及对教堂计算朱利安历法所用的阴历的改革。
[...]
除了将日历年的平均长度从365.25天(365天6小时)更改为365.2425天(365天5小时49分钟12秒)之外,每年还减少了10分钟48秒,公历改革也处理了这些长度之间的过去累积差异。
[...]
然而,由于新教改革,许多西欧国家最初并未遵循格里高利改革,而是维持了旧式制度。最终为了统一起见,其他国家也进行了改革,但是到了20世纪东欧朱利安历法的最后一位信奉者(俄罗斯和希腊)在20世纪改变为公历制时,他们不得不从历法中减去13天由于1582年以来两个日历之间的附加累积差异
[...]
大英帝国和大英帝国(包括现在的美国东部)在1752年采用了公历,到了11天时才需要进行更正。1752年9月2日星期三,然后是1752年9月14日星期四。

到Unix出现并重置世界时钟开始于1970年1月1日的时候,除了选择显示重置日期的日期外,对整个混乱局面已无计可施。由于世界各地在不同的时间采用了当前的公历系统,因此进行此更正的确切时间有些随意。

如果您有理由在您的软件中计算可追溯到该日期的日期,那么您将遇到比仅一次重置更重要的问题!日历的历史充满了惊喜!


3
好答案!为了使事情变得更加复杂,今天某些希腊修道院社会仍在使用儒略历。
terdon

1
“进行此校正的确切时间多少有些武断”-过于简单了。更为精确的版本是“至少需要用户的位置才能识别进行更正的日期”。(瑞典人曾有一项雄心勃勃的计划,打算在40年内涂抹日历改革:en.wikipedia.org/wiki/Swedish_calendar
Piskvor

4

这是一篇有关日历好论文(PDF),它解释了复活节在一年中的缓慢变化如何使该日期更正,并描述了不同国家何时进行转换。

在页面904上:

他[Pope Greogory]还修正了日历中累积的10天错误,他宣布1582年10月4日(星期四)(旧式(儒略历)的最后日期)将紧随1582年10月15日(星期五),新样式(Gregorian)日历的第一天。天主教国家遵循这一规则,但新教国家拒绝了:西班牙,葡萄牙和意大利立即采用了这一规则,德国的天主教国家也一样。德国的新教地区一直等到1700年才通过。英国及其殖民地(包括美国)一直等到1752年,俄罗斯一直坚持到1918年革命之后,而保加利亚一直坚持到1920年。

本文继续引用由天文学家编制的广泛的采用日期列表,并以直接的方式说明了如何在不同日历系统之间进行转换。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.