Я не сталкивался с подобной ошибкой раньше, до настоящего момента, и я не смог найти много об этом из исследования ошибки.Почему это случилось?И в моем конкретном случае, что я делаю неправильно, что вызывает эту ошибку?
function datediff($date1, $date2){
$date1 = date('m-d-y');
$date2 = date('m-d-y'); //To tell function these are dates
$sdate = new DateTime($date1); //error happens here
$edate = new DateTime($date2); //I did it this way because I wanted
//it to be dynamic, not just a static
//date that had to be entered
//within the function.
$interval = $sdate->diff($edate); //Set difference = to variable
echo "Difference : " . $interval->m . " months, " . $interval->d." days, ".$interval->y." years ";
}
datediff('1-21-1991', '12-14-2018'); //running function with my own dates
Я уже знаю более простой способ сделать это, но он не динамический и в подходе ООП, о котором я говорюища это, чтобы быть обоими этими вещами.Любое понимание?
РЕДАКТИРОВАТЬ: Это точная возвращаемая ошибка:
"Неустранимая ошибка PHP: Uncaught Исключение: DateTime :: __ construct (): Не удалось проанализировать строку времени (12-14-18) впозиция 0 (1): неожиданный символ в /workspace/Main.php:7 трассировки стека:
0 /workspace/Main.php(7): конструкция DateTime -> __ ('12 -14-18 ')
1 /workspace/Main.php(13): datediff ('12 -14-18 ', '12 -14-18')
2 {main} добавлено в / workspace /Main.php на линии 7 "