Я хочу получить разницу (dateInterval) между 2 dateTime.
Эти 2 dateTimes взяты из таблицы моей базы данных mysql, которая содержит 2 столбца, которые являются строками varchar, из-за формата json, например:
{"name":"firstdate","date":"2016-06-06 23:42:35","id":"1"}
но эти столбцы могут быть нулевыми.
Итак, у меня есть массив, который хранит эти 2 столбца, в качестве примера:
$array[0] and $array[1] which may contains null or the json
в скрипте я проверяю, является ли содержимое массива $ [$ i] нулевым или нет, если оно не равно нулю, я использую json_decode, true в массиве $ [$ i].
Затем с
$dateNow = new DateTime("now", new dateTimeZone('Europe/Paris'));
а также
$array[$i]['date'] = new DateTime($jsonDecoded['date'], new dateTimeZone('Europe/Paris'));
Я делаю :
if($dateNow < $array[$i]['date'])
{
$diffDate = $array[$i]['date']->diff($dateNow);
}
Я получаю эту ошибку:
PHP message: PHP Warning: DateTime::diff() expects parameter 1 to be DateTimeInterface, null given
Кстати, я с помощью var_dump проверил содержимое $ array [$ i] [‘date’], и оно не равно нулю, оно содержит дату в правильном формате.
Более того, даже если я сам напишу дату вместо того, чтобы использовать декодированный json, она все равно выдаст ту же ошибку …
Задача ещё не решена.
Других решений пока нет …