Laravel:显示时间戳字段的个人格式

Lol*_*olo 2 datetime laravel

在我的项目中,我使用此代码来格式化时间戳字段

date('D m Y  H:i', strtotime($post->created_at))
Run Code Online (Sandbox Code Playgroud)

但是因为我有很多地方和领域要显示它有点无聊,如果我需要改变格式,它将不容易维护.

我想知道是否有办法去除输出格式

Nee*_*ule 7

您可以在Post模型中创建一个访问器功能.

public function getCreatedAtAttribute($value)
{
    return date('D m Y H:i', strtotime($value));
}
Run Code Online (Sandbox Code Playgroud)

这样,每次调用$post->created_at它都会显示访问者返回的日期而不是默认值.

更多信息请访问:http://laravel.com/docs/eloquent#accessors-and-mutators

如果您不希望在所有模型中使用此函数,则可以创建BaseModel类并使模型扩展此BaseModel类.

我还找到了另一个解决方案:

\Carbon\Carbon::setToStringFormat('D m Y H:i');
Run Code Online (Sandbox Code Playgroud)

您可以使用此行(在global.php中为例)但它将更改所有应用程序中的日期格式.