Ниже приведен код для преобразования данных в Date.Сохранение некорректной даты в базе данных MySQL
$date = strtotime($request->input('DueDate'));
$Job->DueDate = date('Y-m-d', $date);
$Job->save();
Но это сохраняет данные как 0000-00-00
Ниже приведен код для преобразования данных в Date.Сохранение некорректной даты в базе данных MySQL
$date = strtotime($request->input('DueDate'));
$Job->DueDate = date('Y-m-d', $date);
$Job->save();
Но это сохраняет данные как 0000-00-00
Попробуйте это может быть: (Первый аргумент createFromFormat должен быть форматом, который принимает пользователь)
$dt = \DateTime::createFromFormat('m/d/Y', strtotime($request->input('DueDate')));
$Job->DueDate = $dt->format('Y-m-d');
$Job->save();
Приветствия ,,
Пусть говорят ваши DueDate
правильно возвращать данные. Попробуйте следующее:
$date = Carbon::parse($request->input('DueDate'))->format('Y-m-d');
$Job->DueDate = $date;
$Job->save();
Использование экземпляра углерода. Для получения дополнительной документации Carbon
Из PHP руководства strtotime()
Даты в м/д/г или DMY форматы снято неоднозначность, глядя на разделитель между различными компонентами: если сепаратор является слэш (/), то предполагается американский т/д/у; тогда как если разделитель является тире (-) или точкой (.), то предполагается европейский формат d-m-y. Если, однако, год указан в двухзначном формате, а разделитель - тире (-, строка даты анализируется как ymd.
Чтобы избежать потенциальной двусмысленности, лучше использовать ISO 8601 (YYYY-MM- DD). Дата или DateTime :: createFromFormat(), когда это возможно
Так самый простой мод для вашей ситуации была бы просто преобразовать слеши в дефис, как этот
$fixDate = str_replace('/', '-', $request->input('DueDate'));
$date = strtotime($fixDate);
$Job->DueDate = date('Y-m-d', $date);
$Job->save();
Что $ request-> вход ('DueDate') возвращение? – jbafford
Он возвращает '1/13/2000'. – Pankaj
@PankajGarg Как вы думаете, что ожидает функция [date function] (http://php.net/manual/en/function.date.php)? –