日期时间插入错误

时间:2018-08-12 10:15:47

标签: jquery laravel-5 datepicker

我正在使用引导程序日期时间选择器,当我尝试插入选定的日期时间时,显示错误

  

“ SQLSTATE [22007]:无效的日期时间格式:1292错误的日期时间值:第1行的“ startDate”列为“ 2012年12月21日-03:25 PM”

然后我在控制器中使用

$iVisitors->startDate = date("Y-d-m H:i:s", strtotime(request('startDate')));

但现在它存储的是默认时间1970-01-01 00:00:00,而不是我选择的时间。如何存储我选择的日期时间?

1 个答案:

答案 0 :(得分:0)

传递给php的strtotime()的日期时间格式错误。您可以使用php的str_replace()简单地将之前出现的-替换为空字符串,即

$iVisitors->startDate = date("Y-d-m H:i:s", strtotime(str_replace('- ', '', request('startDate'))));
,因此21 December 2012 - 03:25 PM现在变成21 December 2012 03:25 PM

您得到1970-01-01 00:00:00是因为strtotime返回false,因此php的日期也返回了它的开始日期。

您可以检出strtotime php manual page以获得更多信息。通过设置可接受的格式,您还可以轻松指定从datepicker脚本返回的格式。