我在AWS EBS和我的本地Apache上有相同的项目。我在我的用户模型中定义了$ dateFormat,就像这样,
protected $dateFormat = 'Y-m-d H:i:s';
本地服务器运行良好,但AWS表示,
Trailing data
at Carbon::createFromFormat('Y-m-d H:i:s', '2017-09-14 04:34:08.000') in Model.php line 2991
所以我将$ dateFormat更改为此,
protected $dateFormat = 'Y-m-d H:i:s.u';
然后本地服务器将显示
Data missing
at Carbon::createFromFormat('Y-m-d H:i:s.u', '2017-09-14 04:34:08') in Model.php line 2991
我认为这是数据库中的格式与模型中定义的格式不匹配,但是由于这些不同的行为,我真的很困惑。
答案 0 :(得分:1)
这种情况看起来像数据太多
如果您的日期字符串是"更长"比这种情况下的格式字符串:
Carbon::createFromFormat('Y-m-d H:i:s', '2017-09-14 04:34:08.000');
碳会抛出:
Carbon.php第425行中的InvalidArgumentException:尾随数据
因为在这里你已经用秒指定了日期时间格式,但在你的字符串中你传递的毫秒值也是08.000,这就是为什么碳会引发Trailing data
的错误
如果你不需要毫秒,那么只需使用这个
Carbon::createFromFormat('Y-m-d H:i:s', '2017-09-14 04:34:08');