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

时间:2014-07-31 13:56:10

标签: datetime laravel

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

date('D m Y  H:i', strtotime($post->created_at))

但是由于我有很多地方和领域要显示它有点无聊,如果我需要改变格式,它就不容易维护。

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

1 个答案:

答案 0 :(得分:7)

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

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

这样,每当您拨打$post->created_at时,它都会显示您的访问者返回的日期,而不是默认值。

此处有更多信息:http://laravel.com/docs/eloquent#accessors-and-mutators

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

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

\Carbon\Carbon::setToStringFormat('D m Y H:i');

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