当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《千年(和其他)是闰年吗?》经验,为你挑选了1个好方法。

Ÿ是闰年,如果Ÿ是由4整除的完美,和

不是100,或

100和400

以下来源遵循以上规则:

Python(输出calendar.monthrange(1000,2)为(5,28))

webconversiononline.com

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

Linux cal(命令cal 2 1000显示29天)

timeanddate.com

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

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



1> PM 2Ring..:

calendar模块使用了预感格里高利历.

从该calendar文档:

这些功能和类中的大多数都依赖于datetime使用理想日历的模块,当前的公历在两个方向上都有扩展.这与Dershowitz和Reingold的书"Calendrical Calculations"中的"proleptic Gregorian"日历的定义相符,它是所有计算的基本日历.

来自维基百科:

通过将格里高利历延伸至1582年正式引入之前的日期,产生了公历格里高利历.

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

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

-s -file ... -country_code

假设在与country_code相关的日期从Julian切换到Gregorian Calendar如果没有指定,ncal尝试从当地环境猜测切换日期或者回到1752年9月2日.这是英国和她的殖民地切换到Gregorian的时候日历.

[...]

BUGS

对于许多国家而言,将Julian-Gregorian转换日期分配给国家/地区代码在历史上是天真的.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有