Laravel4 - 处理整个应用程序和mysql之间的日期格式

时间:2014-06-21 09:21:12

标签: php mysql laravel laravel-4

在laravel 4中,我有很多具有日期类型和日期时间的数据库字段。但我需要显示日期格式,如dd / mm / yy H:i:s喜欢任何格式,还必须处理插入和更新时的日期形成。他们是否可以在一个地方获得作品?

2 个答案:

答案 0 :(得分:1)

是的,您可以通过在模型中创建mutator方法来实现这一目标;例如,如果您拥有Post模型并且具有date_of_birth属性,并且您希望在yyyy/mm/dd H:i:s中设置日期,但用户可能会以不同的格式提供日期。在这种情况下,在mutator模型中创建一个Post方法,如下所示:

public function setDateOfBirthAttribute($value)
{
    // value will be the given date by user
    $dt = \Carbon\Carbon::createFromFormat('Y/m/d H:i:s',$value)->toDateString();
    $this->attributes['date_of_birth'] = $dt;
}

要访问日期,只需创建一个accssor方法,例如:

public function getDateOfBirthAttribute()
{
    return \Carbon\Carbon::createFromFormat('d-m-Y H:i:s', $this->date_of_birth);
}

现在date_of_birth将使用您在mutator方法中使用的格式插入,当您显示该日期时,它将使用以下格式显示您已在accessor方法中使用过。您也可以查看Date Mutators

答案 1 :(得分:0)

日期必须包含碳。请查看GitHub上的文档:https://github.com/briannesbitt/Carbon