我在PHP 5.3中使用下面的代码,但现在我必须在5.4.11上运行它并且它不起作用。页面没有错误,我得到500错误。如果我评论最后3行,一切都OK。
$sql = "*****";
$query = mysqli_query($dbc, $sql) or die('Error selecting date range.');
$row = mysqli_fetch_array($query);
$firstDate = $row['min'];
$lastDate = $row['max'];
$arrDates = array();
$date1 = new DateTime($firstDate);
$date2 = new DateTime($lastDate);
$interval = $date1->diff($date2);
EDIT1:$ firstDate和$ lastDate的var_dump,无法为$ date1和$ date2获取一个,因为一切都在我取消注释对象时停止。
$firstDate - string(10) "2013-01-27"
$lastDate - string(10) "2013-02-06"
有什么建议吗?
答案 0 :(得分:1)
我在过去发现,如果事先知道输入字符串的格式,使用静态createFromFormat
方法生成DateTime对象会更可靠:
$date1 = DateTime::createFromFormat($format, $firstDate);
$date2 = DateTime::createFromFormat($format, $lastDate);
$interval = $date1->diff($date2);