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

2017-10-12 08:33:13 +08:00
 lneoi
时间戳只能计算 1970 年后的时间,由于需要计算更早的日期,发现 PHP 还有提供一个 DateTime 类。
但在使用中发现在 1582 年改历之后的置闰算法符合日历,但在之前的置闰算法有问题,每整百年时像是 1300 年,应该按旧置闰法不标记为闰年,所以二月有 29 号,但实际传入这天时,会自动换算成 3 月 1 号,diff 计算天数差,也会有错误。
看起来像是 1582 年之前的旧历 按后来新改的置闰法计算了。
1983 次点击
所在节点    PHP
4 条回复
dangyuluo
2017-10-12 09:32:14 +08:00
应该是没考虑这种历史问题吧
gouchaoer
2017-10-12 10:12:08 +08:00
历史上改历了
sagaxu
2017-10-12 16:30:25 +08:00
这种不同国家可能还不一样,多个历法互相矛盾
noNOno
2017-10-12 18:39:30 +08:00
恭喜发现了新的 timeline

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/396952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX