beimenjun
V2EX  ›  问与答

问:为什么 iOS 自带的日历中 1900 年、 1800 年、 1700 年 2 月有 29 天?

  •  
  •   beimenjun ·
    PRO
    · Aug 22, 2015 · 4962 views
    This topic created in 3946 days ago, the information mentioned may be changed or developed.
    今天晚上在研究各种日历纪年什么的, iOS 系统自带的日历 App,采用的应该是类似 Proleptic Gregorian calendar ,但是 1900 年、 1800 年、 1700 年(按照算法,这些日期应该都在 1582 年后改的 Gregorian calendar 算做平年)的 2 月在年览视图上都有 29 天,点击进去的月览图中显示天数只有 28 天,这是为什么? 1600 年的 2 月在年览视图上也是 29 天,但是月览视图上则是正常的闰年 29 天。

    可能有用的链接:
    http://superuser.com/questions/481496/why-are-excel-weekdays-wrong-for-1900
    http://www.joelonsoftware.com/items/2006/06/16.html

    几个相关 Wiki 的链接:
    1. Gregorian calendar :
    https://en.wikipedia.org/wiki/Gregorian_calendar
    2. Leap year :
    https://en.wikipedia.org/wiki/Leap_year

    关于问题的一些参考图:
    1.年览视图:

    2.月览视图:
    6 replies    2015-08-23 02:32:32 +08:00
    laiyingdong
        1
    laiyingdong  
       Aug 22, 2015
    但是 2100 年是没有 2 月 29 日的。 iOS 的日历 估计之前的部分是偷懒还是故意的 但是我觉得穿越者要带 Apple 产品回过去的时候真的要小心啊 !!!!

    还有 看到日历里还可以有平成 xxx 年 就想哪天天皇挂了之后 以后换元号的话就会出现不存在的年份了
    Valyrian
        2
    Valyrian  
       Aug 22, 2015 via iPhone
    85 年后必须换手机了
    ljbha007
        3
    ljbha007  
       Aug 22, 2015
    点进去之后又是正确的 两个界面不是一个人写的
    beimenjun
        4
    beimenjun  
    OP
    PRO
       Aug 22, 2015 via iPhone
    @Valyrian 其实往后的都没发现问题, 2100 年确实是平年。

    @ljbha007 你可以看年览视图, 3 月 1 日其实标的位置和 2 月 9 日一样,没问题的。
    shmilyin
        5
    shmilyin  
       Aug 23, 2015
    能被 100 整除 不能被 400 整除的?
    beimenjun
        6
    beimenjun  
    OP
    PRO
       Aug 23, 2015 via iPhone
    @shmilyin 能被 100 整除 不能被 400 整除的是平年。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4105 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 04:14 · PVG 12:14 · LAX 21:14 · JFK 00:14
    ♥ Do have faith in what you're doing.