Не удалось найти символ разделения. Отсутствуют данные.
Я работаю с Laravel 5.8, и я хотел показать всплывающее сообщение, если временная метка UNIX текущей даты равна определенной временной метке Unix для всплывающего окна.
Итак, чтобы сделать это, я добавил это в Контроллер:
$date1= $popup->datep; // returns 1636403400
$date1 = Carbon::createFromFormat('Y-m-d H:i:s', $date1);
dd($date1);
Но вместо того, чтобы получить результат
$date1
, Я получаю эту ошибку:
Не удалось найти символ разделения. Отсутствуют данные.
Так что здесь не так? Как я могу решить эту проблему?
2 ответа
Что касается Carbon Docs:
createFromFormat() - это в основном оболочка для базовой php-функции DateTime::createFromFormat.
Это означает, что ваш второй параметр должен быть допустимым форматом даты / времени, а не меткой времени.
В DateTime::create
документы:
$datetime
Строка, представляющая время.
Вместо этого вам нужно использовать
createFromTimestamp
инстанциатор.
$date1 = Carbon::createFromTimestamp($date1);
Вы указываете формат, который явно не является меткой времени unix. Используйте метод для отметки времени.
$date = Carbon::createFromTimestamp($popup->datep);
В котором, если вы хотите сравнить это с одной и той же датой, вы должны сделать следующее. Я не предполагаю, что вы хотите сравнивать его по часам или секундам, они почти никогда не совпадут.
$date->startOfDay()->eq(now()->startOfDay());