Php 致命错误:当对象存在时,对非对象调用成员函数diff()?
尝试获取两个DateTime对象之间的差异。使用下面的代码,我可以呼出Php 致命错误:当对象存在时,对非对象调用成员函数diff()?,php,Php,尝试获取两个DateTime对象之间的差异。使用下面的代码,我可以呼出$endSub变量,得到一个字符串,如2012-5-26T00:00:00-04:00,这正是我需要的。但是,如果我没有exit()查看$interval=行上的代码,则标题中会出现错误。有人知道会发生这种情况的原因吗 if ($todays_month >= 6){ $endSub = new DateTime(($startYear+1).'-5-'.$startDay); }else{ $endSu
$endSub
变量,得到一个字符串,如2012-5-26T00:00:00-04:00
,这正是我需要的。但是,如果我没有exit()
查看$interval=
行上的代码,则标题中会出现错误。有人知道会发生这种情况的原因吗
if ($todays_month >= 6){
$endSub = new DateTime(($startYear+1).'-5-'.$startDay);
}else{
$endSub = new DateTime($startYear.'-5-'.$startDay);
}
echo $endSub->format(DATE_RFC3339);
exit();
$interval = $startSub->diff($endSub);
startSub
变量来自哪里?它肯定是原语或null。startSub变量来自哪里?它肯定是原语或null。$startSub
不是$endSub
。我看不到您的代码中任何地方分配了$startSub
。请给我们您在startSub
上所做的声明/操作,以便我们可以帮助您?谢谢您的评论。当我发布这篇文章并查看发布的代码时,我意识到我忽略了这一点,然后查看了我的实际代码,发现$startSub
没有被转换为DateTime
对象,这是我的问题。但到那时我还不能删除我的帖子。感谢您的快速回复。$startSub
不是$endSub
。我看不到您的代码中任何地方分配了$startSub
。请给我们您在startSub
上所做的声明/操作,以便我们可以帮助您?谢谢您的评论。当我发布这篇文章并查看发布的代码时,我意识到我忽略了这一点,然后查看了我的实际代码,发现$startSub
没有被转换为DateTime
对象,这是我的问题。但到那时我还不能删除我的帖子。谢谢你的快速回复。事实上,这就是问题所在。我一贴出来,就意识到它的类型是date
,而不是DateTime
。但当我证实这一点时,已经有了答案。谢谢你的快速回复。一旦强制时间过去,我会将此标记为答案。事实上,这就是问题所在。我一贴出来,就意识到它的类型是date
,而不是DateTime
。但当我证实这一点时,已经有了答案。谢谢你的快速回复。一旦强制时间过去,我会将此标记为答案。