PHP 5.4.11中的DateTime问题

时间:2013-02-14 09:56:57

标签: php

我在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"

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我在过去发现,如果事先知道输入字符串的格式,使用静态createFromFormat方法生成DateTime对象会更可靠:

$date1 = DateTime::createFromFormat($format, $firstDate);
$date2 = DateTime::createFromFormat($format, $lastDate);
$interval = $date1->diff($date2);