1

您好,我是使用 laravel 4 作为应用程序页面,我喜欢碳日期功能,但日期格式有问题。我的日期格式类似于:

dd/mm/yyyy

我使用:

\Carbon\Carbon::createFromTimeStamp(strtotime(Auth::user()->created_at))->diffForHumans() 

显示它的年龄,但是当日期格式它的时候效果很好

yyy-mm-dd

我怎样才能只更改一次日期格式而不是每次都更改。

4

3 回答 3

3

你可以试试这个:

$date = Auth::user()->created_at;
\Carbon\Carbon::createFromFormat('d/m/Y', $date)->diffForHumans();

你也可以试试这个(如果你想使用createFromTimeStamp方法):

$date = str_replace('/', '-', Auth::user()->created_at);
\Carbon\Carbon::createFromTimeStamp(strtotime($date))->diffForHumans();
于 2014-04-28T21:52:45.077 回答
3

您可以创建一个在执行 echo 时将使用的访问器$user->created_at

public function getCreatedAtAttribute($attr)
{
    return Carbon::parse($attr)->diffForHumans();
}

有关访问器的更多信息:http: //laravel.com/docs/eloquent#accessors-and-mutators

您甚至可以将它放在 BaseModel 类中,并让您的所有模型扩展基类以自动将所有 created_at 属性转换为您指定的日期格式。

于 2014-04-28T23:07:27.490 回答
2

Laravel 4 中日期格式的更简单的全局设置:检查此链接

事实上,使用 Carbon 的 lib 全局更改日期格式非常容易。您所要做的就是在模型文件夹中创建一个 BaseModel.php 文件,然后为 Created_At 和 Updated_at 添加方法 -> 设置属性。然后,使用此 BaseModel 扩展您的模型,所有日期都以您自己的格式显示。

我希望你会喜欢这个发现...

于 2014-08-10T11:57:07.153 回答