IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    1900年居然不是闰年?

    est发表于 2024-03-01 13:57:00
    love 0

    看HN讨论 昨天2024-02-29有哪些闰年的bug,有一个吃惊了

    >>> datetime.datetime.strptime('Feb 29', '%b %d')
    ValueError: day is out of range for month
    

    python的 datetime() 默认 year=1900。但是心里想 1900 不应该也是闰年吗?

    查了下还真不是。囧。一年有 365.242374 天:

    • 近似看成 365.25 天就是4年一润;
    • 剩余的精度 365.25-365.242374 == 0.0076 天
    • 而且,0.0076 ✖️ 400 == 3.0504,也就是每400年要润3天
    • 结论就是每100年一润,但是每400年又不润
    • 比如 1700, 1800, 1900, 2100, 2200, 2300, 2500, 2600 这些年都不是闰年

    真复杂!



沪ICP备19023445号-2号
友情链接