致命错误:当非对象存在时,调用该对象上的成员函数diff()


Fatal error: Call to a member function diff() on a non-object when the object exists?

尝试获取两个DateTime对象之间的差异。使用下面的代码,我可以回显$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变量来自哪里?它肯定是原始的或无效的。