西西河

主题:Linux下一个命令背后的历史 -- 乌有用户名

共:💬19 🌺67 新:
分页树展主题 · 全看 下页
  • 家园 Linux下一个命令背后的历史

    cal 9 1752

    输出:

    September 1752

    Su Mo Tu We Th Fr Sa

    1 2 14 15 16

    17 18 19 20 21 22 23

    24 25 26 27 28 29 30

    显示出来的1752年9月份日历,9月2日之后直接就是14日。

    不是bug。

    1582年2月,罗马教廷要求从1582 年10月中减去10天,1582 年10月4日后面紧跟着就是15日。 意大利、西班牙等天主教国家也很快就按要求照做了,但是新教国家不愿意修改,导致这个改革在英国及其殖民地(包括美国)在1752年9月才被执行。而这个时候历法的误差已经从10天变成了12天,所以9月2日之后直接就是14日。美国用的是英国的历法,而 linux用的是美国人的历法……

    • 家园 手机上的日历,不是这样啊……

      安卓系统,1752年9月有30天,一切正常……

    • 家园 有心了。

      特地看了下Windows,系统时间只起始于1980年。上网搜了几个万年历,都是起始于1900年以后的。

    • 家园 伊斯兰历法

      完全不考虑地球公转...

      • 家园 那是个真·阴历

        只考虑月球运行的,既不指导农业也不显示季节……纯宗教历法,也是很奇葩

        通宝推:看僵尸集会,
    • 家园 这是对旧历法多年来积累的误差的矫正,理性行为

      不得不进行修改。

      目前世界通行的公历中,就有持续时间为0的10天,即公元1582年10月5日至14日。事情是这样的:

        西方历法的第一次改革是罗马朱利乌斯·凯撒大帝于公元前45年亲自引进的。当时采用的数字是一年365.25天,于是朱利安历法成为最简单的历法:第一、二、三年都是365天,三年余下的0.25天给第四年,第四年就有366天,这就是闰年。于是重复365,365,365,366的周期,每年都是整数。

        但是,一个太阳年不刚好是365.25天,而是 365.242199…天,每年相差11分14秒,也就是朱利安历法中每年多算了11分钟14秒。由于误差不太大,头几年没什么关系,凯撒活着时影响还不大。但是,一年又一年,误差累积起来,朱利安历法就与实际的太阳年不合拍了。例如每年春分在3月21日前后,但几个世纪后,春分在朱利安历法上的日期越来越提前了,这对农民种地不方便,对教会确定复活节在哪一天也带来麻烦。由于朱利安历法是凯撒亲自制定的,上述情况对他的威信是一个沉重打击。

        16世纪时,教皇格利戈里八世进行了一次校正。因为到16世纪,每年11分14秒已经累积成10天,也就是历法上多了10天,这对于确定复活节造成严重困难,不得不采取措施补救。为此,格利戈里采取了解决此类难题的最古老最有效的策略----他召集一个委员会,任命一位聪明的主席,即杰出的耶稣会数学家克利斯多弗·克拉维斯(Christopher Clavius),要求委员会提出解决方案。委员会于1587年开始工作。

        克拉维斯委员会面临两个不同的问题,它用不同的方法进行解决。第一,朱利安历法现在走快了10天,必须拉回到与太阳年一致。克拉维斯建议用官方声明把这10天抹掉!教皇格利戈八世于1582年2月24日以教皇训令颁布,将1582年10月5日至14抹掉,于是这10天就消失了,一去不复返。1582年10月4日过完了,第二天已经是10月15日了,于是历法又回到与太阳年同步。

        当时以及后来有许多人对此感到惊愕,目瞪口呆,有人认为是荒唐、武断。“教皇一纸训令就能抹掉日历上的10天?”

        但是,这10天的确不存在了,这10天什么也没有发生,这10天根本就没过日子。如果你能找到当时的日记,10月4日记完后,下一页就是10月15日的事。用科学语言表达,这10天的持续时间为0。

        其实完全不必惊讶。太阳年、太阳日与自然现象有联系,至于某一天是什么日子,则是人为的,与给小孩起名字一样。我们可以不用公历,一年不分月,只叫第1天,第2天,……第125天,……到第365天,这是允许的。喜欢偶数的人可以发明一个“偶数日历”:2月2日,2月4日……4月2日……12月30日,12月32日……,14月2日,这也是允许的,只要一年365天或者366天就行。这再一次证明,在一个科学理论或体系中区分出由自然现象决定(因而必须符合实验)的部分和人为规定的部分是重要的。

        当然,这个决定对当时的社会生活也会有一定影响,例如出生在10月5日至10月14日的人在1582年找不到自己的生日,但与出生在2月29日的人相比,少过一年生日算不了什么。还有,那年10月份的工资、利息也会有问题,但不知那时的银行、工资制度什么样。不过这些问题与我们马上要遇到的千年虫问题相比,影响微乎其微。

        第二个问题是需要提出历法的补充规则,不让每年多出的11分14秒累积得太多。于是克拉维斯委员会提出一年有365.2422天的方案,这比朱利安历法的365.25天大大接近天体运动实际。据此对朱利安历法只有“四年一闰”的简单规定进行校正:四年一闰,但是世纪之交的’00年,如100年,200年,不闰,即每一百年少闰一次。这样一算,闰年又太少了,于是进一步规定:每四个世纪的世纪之交,即400年,800年等仍是闰年。最终关于闰年的规定为,用4除尽的年份仍是闰年。教皇训令也批准了这个校正。经过这两个校正的朱利安历法叫格利戈里历法,也就是我们现在用的公历。由于格利戈里历法中的年与太阳年仍有误差,还需要进一步校正,不过二者只相差25.96秒,每过2800年才相关一天,在实际生活中没什么影响。这样,1900年不是闰年,但将要到来的2000年是闰年,每400年才遇到一次!又一个特殊性!

        格利戈里历法很快在罗马天主教势力范围被普遍接受,但是在英国却引起了一片喧嚣的反对声,英国人仍然坚持朱利安历法,拒绝“抹掉10天”。直到1752年,英国人才想通,理性终于占了上风,不过从1582年到那时,历法又多出了1天,所以英国议会在1752年作出决定,抹掉11天----1752年9月3日至13日,至此才接受了格利戈里的改革。请注意,英国历史中,这11天什么也没有发生。由此可以看到,一次历法改革是多么不容易,对于一个聪明、合理的决定,仅仅因为看上去有点怪就有人反对,竟然花了快二百年才接受!

      通宝推:乌有用户名,silencsrv,
      • 家园 确实是没错

        修正历法偏差之类的事情现在也有,我记得前几年还修正了一秒。

        这算是由于“阵营”不同而拒绝一些理性有理的改变的例子,如果我没记错的话东正教各国如希腊一直到20世纪才作出类似修正,俄国现在还并行用儒略历。

        通宝推:看僵尸集会,
      • 家园 他在意的不是该不该纠正历史误差

        他在意的是为什么Linux的日历是1752年9月减12天,而不是1582年10月减10天。linux 虽然不是美国人写的,但却必须遵循美国的历法,这是不是无形霸权(或者叫软实力)?

        • 家园 我真没这意思……

          像历法这种东西就跟数学物理规律一样,无所谓是哪国发现或者规定的,关键是得能自圆其说

          类似的例子,还有李森科和苏联生物学界对DNA等“西方”理论的排斥……客观规律是不以人的意志为转移的

          通宝推:看僵尸集会,
        • 家园 格利戈里历法在1752年之后普世了

          而且英国人最后接受的,那时美国人还是英国人呢。

          格利戈里历法不是美国历法,是西洋历法,有别于阴历。

          • 家园 1752年之后格里历就普世了么?

            1752年之后格里历就普世了么?比如说俄国,一直到10月革命后才实行格里历。所以才有10月革命发生在11月这回事儿。希腊要到1923年才实行格里历。看来某些人眼里,普不普世,还是要以美国为标杆啊。美国接受了,就普世了。

分页树展主题 · 全看 下页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河