【问题标题】:Lumen time stamp Trailing Data and Data Missing errors流明时间戳尾随数据和数据丢失错误
【发布时间】:2017-09-22 15:13:48
【问题描述】:

我在 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

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

【问题讨论】:

    标签: laravel amazon-web-services lumen php-carbon


    【解决方案1】:

    看起来这个案例是数据过多

    如果您的日期字符串比这种情况下的格式字符串“长”:

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

    碳会抛出:

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

    因为在这里您已经指定了日期时间格式,但在您的字符串中,您传递的毫秒值也为 08.000,这就是 carbon 抛出 Trailing data 错误的原因

    如果你不需要毫秒,那么只需使用这个

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

    【讨论】:

    • 感谢您的回复。它位于两个不同的环境中,AWS 和我的本地服务器。如果我使用默认设置,则行为会有所不同。这就是为什么我很困惑,因为除了日期格式之外的所有其他东西都是相同的。
    • 如果我使用默认设置,我的本地机器会很好,但AWS会提醒由毫秒引起的尾随数据错误。不知道是不是和系统时间格式有关...
    • 如果你觉得舒服,那么你可以编辑和格式化我的答案中指定的日期字符串,以便发布
    • 你厌倦了这个吗?
    • 是的,我做到了,但每次部署到 AWS 之前我都需要更改日期格式。这有点烦人,但是,我仍然不知道为什么会这样......
    猜你喜欢
    • 2018-06-18
    • 2020-04-17
    • 2013-06-14
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 2018-07-10
    • 2020-04-08
    • 1970-01-01
    相关资源
    最近更新 更多