2017-09-21 83 views
0

我在AWS EBS和我的本地Apache上有相同的项目。我在我的用户模型像这样定义的$日期格式,流明时间戳追踪数据和数据丢失错误

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 

我认为这是数据库格式与模型中定义的格式之间的不匹配,但有了这些不同的行为,我真的很困惑。

回答

1

貌似这种情况下是太多数据

如果你的日期字符串就像是在这种情况下比格式字符串“长”:

Carbon::createFromFormat('Y-m-d H:i:s', '2017-09-14 04:34:08.000'); 

碳会抛出:

Carbon.php中的InvalidArgumentException行425:尾随数据

因为在这里你所指定的日期时间格式秒,但在你的字符串要传递的毫秒数过08.000这就是为什么碳被投掷的Trailing data

这个错误,如果你不需要millsecond然后只需使用该

Carbon::createFromFormat('Y-m-d H:i:s', '2017-09-14 04:34:08'); 
+0

感谢您的回复。它有两种不同的环境,AWS和我的本地服务器。如果我使用默认设置,则行为会有所不同。这就是为什么我很困惑,除了日期格式以外的其他所有内容都是相同的。 – yifei3212

+0

确定如果您使用默认设置发生了什么? –

+0

如果使用默认设置,我的本地计算机将会正常工作,但AWS会提醒由毫秒引起的尾随数据错误。我不知道它是否与系统时间格式有关... – yifei3212