千年(和其他)是闰年吗?

时间:2017-01-25 11:16:38

标签: python linux calendar

Y 是闰年,如果 Y 完全可被4整除,

  • 不是100,或
  • 100和400

以下来源遵循上述规则:

但是,以下消息来源称1000 是闰年:

格里高利系统在1582中引入,上面的规则显然开始适用(在1582年之前,唯一的要求是完全除以4)。但是,测试其他几年的值(100,500,600,700,900,1100,1300,1400,1500和1700)表明只有在1800之后,包括 Python 的结果Linux cal 同意。

为什么这些来源会给出不同的答案?

1 个答案:

答案 0 :(得分:7)

calendar模块使用了公历格里高利历。

来自the calendar docs

  

这些函数和类中的大多数都依赖于datetime模块   使用理想化的日历,当前的格里高利历延伸   两个方向。这符合“预感”的定义   格列高利历“Dershowitz和Reingold的书中的日历”Calendrical   计算“,它是所有计算的基本日历。

来自Wikipedia

  

预感格里高利安   日历   通过将公历向后延伸到日期来生成   在1582年正式引入之前。

朱利安历法在一个日期没有被格里高利历取代。它在不同时期被各国采用。

来自我(相当古老)机器上的Linux cal手册页:

  

-s -file ... -country_code

     

假设在日期从Julian切换到Gregorian Calendar   与country_code关联如果未指定,ncal会尝试猜测   从当地环境切换日期或回到9月   这是英国和她的殖民地转向世界的时候   阳历日历。

     

[...]

     

<强> BUGS

     

将Julian-Gregorian切换日期分配给国家/地区代码是   在许多国家,历史上都很天真。