lneoi
0.01D
V2EX  ›  PHP

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

  •  
  •   lneoi · Oct 12, 2017 · 2634 views
    This topic created in 3311 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
    dangyuluo
    Oct 12, 2017
    1
    应该是没考虑这种历史问题吧
    gouchaoer
    gouchaoer
    Oct 12, 2017 via Android
    2
    历史上改历了
    sagaxu
    sagaxu
    Oct 12, 2017
    3
    这种不同国家可能还不一样,多个历法互相矛盾
    noNOno
    noNOno
    Oct 12, 2017
    4
    恭喜发现了新的 timeline
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5438 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:01 · PVG 10:01 · LAX 18:01 · JFK 21:01
    ♥ Do have faith in what you're doing.