V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

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

  •  
  •   lneoi · 65 天前 · 721 次点击
    这是一个创建于 65 天前的主题,其中的信息可能已经有所发展或是发生改变。
    时间戳只能计算 1970 年后的时间,由于需要计算更早的日期,发现 PHP 还有提供一个 DateTime 类。
    但在使用中发现在 1582 年改历之后的置闰算法符合日历,但在之前的置闰算法有问题,每整百年时像是 1300 年,应该按旧置闰法不标记为闰年,所以二月有 29 号,但实际传入这天时,会自动换算成 3 月 1 号,diff 计算天数差,也会有错误。
    看起来像是 1582 年之前的旧历 按后来新改的置闰法计算了。
    4 回复  |  直到 2017-10-12 18:39:30 +08:00
        1
    dangyuluo   65 天前
    应该是没考虑这种历史问题吧
        2
    gouchaoer   65 天前 via Android
    历史上改历了
        3
    sagaxu   64 天前
    这种不同国家可能还不一样,多个历法互相矛盾
        4
    noNOno   64 天前
    恭喜发现了新的 timeline
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1580 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 51ms · UTC 03:25 · PVG 11:25 · LAX 19:25 · JFK 22:25
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1