Я хочу сохранить отметку времени в базе данных с компонентом времени как 00:00:00
,
Следующий код:
$start_date = Carbon::createFromFormat('d-m-Y', $date_interval["start_date"]);
$end_date = Carbon::createFromFormat('d-m-Y', $date_interval["end_date"]);
добавляет текущее время к дате, когда я предоставляю дату только без указания времени.
Мне это нужно, потому что мне нужно потом извлечь внутреннее целое число из базы данных, что должно стать началом дня.
Каков наилучший способ сохранить это «начало дня»?
Я обычно устанавливаю дату звонка, а затем сбрасываю время на 00:00 с
Carbon::setTime(0, 0, 0); // from the parent, DateTime class
В классе также есть метод Carbon :: startOfDay (), который установит соответствующие значения.
public function startOfDay()
{
return $this->hour(0)->minute(0)->second(0);
}
Для безопасности просто позвольте Carbon определить конец или начало дня, используя ->endOfDay()
или же ->startOfDay()
, Выберите то, что подходит вам больше.
Carbon::createFromFormat('d-m-Y', $date_interval["start_date"])->endOfDay();
Carbon::createFromFormat('d-m-Y', $date_interval["start_date"])->startOfDay();
Ты не должен этого делать.
установить свой start_date
DATE NULL DEFAULT NULL`
Вы должны позволить MySQL по умолчанию NULL не 0000-00-00