我正在使用引导程序日期时间选择器,当我尝试插入选定的日期时间时,显示错误
“ 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,而不是我选择的时间。如何存储我选择的日期时间?
答案 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脚本返回的格式。