使用PHP Interval对象计算天数差异?

使用PHP Interval对象计算天数差异?,php,Php,我已经在StackOverflow中看到了一些关于如何计算两个日期之间的时间差的答案。但是没有答案是使用PHP中的DateTime对象或Interval对象。我从PHP手册网站上获得了以下代码片段: 但问题是总天数等于6015天,而实际天数应该只有31天。我试图访问Interval对象中的实例变量days。它也显示了6015天。但月和日间隔的实例是正确的。有人能告诉我为什么吗 我想用这些物体来计算时间差 非常感谢 更新: 我想这只是我的PHP设置有问题我运行了完全相同的脚本,得到了“总共31

我已经在StackOverflow中看到了一些关于如何计算两个日期之间的时间差的答案。但是没有答案是使用PHP中的DateTime对象或Interval对象。我从PHP手册网站上获得了以下代码片段:


但问题是总天数等于6015天,而实际天数应该只有31天。我试图访问Interval对象中的实例变量days。它也显示了6015天。但月和日间隔的实例是正确的。有人能告诉我为什么吗

我想用这些物体来计算时间差

非常感谢

更新:


我想这只是我的PHP设置有问题

我运行了完全相同的脚本,得到了“总共31天”和“1个月,0天”(预期值)。尝试升级你的php吗?。

我不确定你使用的是什么版本的php,但根据我的经验,我养成了一个习惯,总是用
date\u default\u timezone\u set(“America/Los\u Angeles”)设置我的时区
其中
美国/洛杉矶
是您要使用的时区。我不知道这最终会如何影响日期计算,但我知道如果您尝试在不指定默认时区的情况下进行日期操作,PHP5.3会对您大喊大叫

我相信您也可以在php.ini中设置一个默认时区,我认为默认设置为UTC。

运行代码

31 total days
1 month, 0 days

PHP安装问题,也许?

这是一个与Windows上的PHP相关的问题。
31 total days
1 month, 0 days