-2

以下のコードを 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 の var_dump を取得できません。

$firstDate - string(10) "2013-01-27"
$lastDate - string(10) "2013-02-06"

助言がありますか?

4

1 に答える 1

1

以前に、入力文字列の形式が事前にわかっている場合は、静的createFromFormatメソッドを使用して DateTime オブジェクトを生成する方が信頼性が高いことを発見しました。

$date1 = DateTime::createFromFormat($format, $firstDate);
$date2 = DateTime::createFromFormat($format, $lastDate);
$interval = $date1->diff($date2);
于 2013-02-14T10:01:47.283 に答える