lneoi
0.01D
V2EX  ›  PHP

PHP DateTime 类计算早于改历时间的坑

  •  
  •   lneoi · Oct 12, 2017 · 2332 views
    This topic created in 3138 days ago, the information mentioned may be changed or developed.
    时间戳只能计算 1970 年后的时间,由于需要计算更早的日期,发现 PHP 还有提供一个 DateTime 类。
    但在使用中发现在 1582 年改历之后的置闰算法符合日历,但在之前的置闰算法有问题,每整百年时像是 1300 年,应该按旧置闰法不标记为闰年,所以二月有 29 号,但实际传入这天时,会自动换算成 3 月 1 号,diff 计算天数差,也会有错误。
    看起来像是 1582 年之前的旧历 按后来新改的置闰法计算了。
    4 replies    2017-10-12 18:39:30 +08:00
    dangyuluo
        1
    dangyuluo  
       Oct 12, 2017
    应该是没考虑这种历史问题吧
    gouchaoer
        2
    gouchaoer  
       Oct 12, 2017 via Android
    历史上改历了
    sagaxu
        3
    sagaxu  
       Oct 12, 2017
    这种不同国家可能还不一样,多个历法互相矛盾
    noNOno
        4
    noNOno  
       Oct 12, 2017
    恭喜发现了新的 timeline
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2863 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 12:25 · PVG 20:25 · LAX 05:25 · JFK 08:25
    ♥ Do have faith in what you're doing.