1

我正在使用 Laravel 4 构建一个 PHP 应用程序。

但是,当我尝试从数据库中打印出 DateTime 记录时出现错误。

{{ $user->created_at }}

给我这个错误

InvalidArgumentException
尾随数据
打开:E:\Server\htdocs\projects\timeclock\www\vendor\nesbot\carbon\src\Carbon\Carbon.php

非常令人沮丧!

该数据库字段的示例值为:2013-08-31 20:50:25

4

4 回答 4

5

您缺少时间戳上的毫秒数据,您需要使用:

Carbon::createFromFormat('Y-m-d H:i:s.u', $value)->format('d/m/Y H:i:s');
于 2014-05-03T08:10:11.167 回答
3

你必须这样format做:

{{ $user->created_at->format('h:i:s') }}

PHP 文档列出了所有可用作格式的代码。

于 2013-09-01T17:41:33.937 回答
3

我有同样的问题。

我发现这是由我在数据库中的时间戳数据引起的。

2013-12-13 22:40:50.561709 <- 这会导致问题。

2013-12-13 22:40:50 <- 这个不会。

于 2013-12-13T14:44:53.140 回答
0

带有毫秒的时间戳值会导致此问题。

转换为 Carbon 对象的列不能有毫秒时间戳。(默认值:created_at,updated_at)。 http://readouble.com/laravel/4/2/0/en/eloquent.html#date-mutators

如果不需要 Carbon Object,您可以禁止自动转换。

class SomeModel extends Eloquent {

    public function getDates()
    {
        return array();
    }
}

但这也使 Carbon 方法(例如:->format())不可用。您必须以其他方式格式化时间戳。

于 2015-06-02T08:49:14.290 回答