如何解决“无效的日期时间;流明误差

时间:2019-02-15 14:41:03

标签: laravel lumen

我正在通过失眠将数据发布到lumen api,并且希望将数据发送到数据库,但是我遇到了无效的datetime错误

我尝试将datetime转换为mysql格式,但是我失败了,都使用Carbon,Casting和strtotime php函数,如下所示 1. strtotime($ value); 2. Carbon :: createFromFormat('Y-m-d H:i:s',$ value); 3.像这样“ parking_end_time” =>'datetime:Y-m-d H:i:s'

trackingPxl.src = 'http://example.com/adclick.php';

我希望日期时间返回为“ 0000-00-00 21:27:00”,但我看到的是“ -0001-11-30 21:27:00.000000”

2 个答案:

答案 0 :(得分:0)

您只是在下面的代码中返回碳实例:

$parkingStartTime = Carbon::createFromFormat('Y-m-d H:i:s', $request->parking_start_time);

如果要格式化toDateTimeString()函数,请执行以下操作:

$parkingStartTime = Carbon::createFromFormat('Y-m-d H:i:s', $request->parking_start_time)->toDateTimeString();

此外,在您的mutator setParkingStartTimeAttribute函数中,您只是在调用createFromFormat,而缺少第一个参数格式。

您需要更新:

public function setParkingStartTimeAttribute($value)
{
  return Carbon::createFromFormat('Y-m-d H:i:s', $value);
}

由于您的mutator已经在进行格式化工作,因此您可以消除在控制器中再次进行格式化的过程。

答案 1 :(得分:0)

实际上我意识到了错误所在,该错误不在代码中,这是关于mysql不允许在数据库中输入零日期,而laravel和lumen强制执行此规则,这就是为什么我得到该错误的原因,但是一旦我将日期从零更改,它就可以正常工作。

一些参考文献在这些网址上

https://www.percona.com/blog/2016/10/18/upgrading-to-mysql-5-7-beware-of-the-new-strict-mode/

Error in mysql when setting default value for DATE or DATETIME