Php Laravel4-处理整个应用程序和mysql之间的日期格式
在Laravel4中,我有许多具有日期类型和日期时间的数据库字段。但我需要显示日期格式,如dd/mm/yy H:i:s,就像任何格式一样,还必须处理插入和更新时的日期形成。他们有办法在一个地方得到工作吗?日期的包装必须是碳的。看看GitHub上的文档:是的,您可以通过在模型中创建Php Laravel4-处理整个应用程序和mysql之间的日期格式,php,mysql,laravel,laravel-4,Php,Mysql,Laravel,Laravel 4,在Laravel4中,我有许多具有日期类型和日期时间的数据库字段。但我需要显示日期格式,如dd/mm/yy H:i:s,就像任何格式一样,还必须处理插入和更新时的日期形成。他们有办法在一个地方得到工作吗?日期的包装必须是碳的。看看GitHub上的文档:是的,您可以通过在模型中创建mutator方法来实现这一点;例如,如果您有一个Post模型,并且有一个date\u of_birth属性,并且您希望在yyyy/mm/ddh:i:s中设置日期,但用户可能以不同的格式提供日期。在这种情况下,在Post
mutator
方法来实现这一点;例如,如果您有一个Post
模型,并且有一个date\u of_birth
属性,并且您希望在yyyy/mm/ddh:i:s
中设置日期,但用户可能以不同的格式提供日期。在这种情况下,在Post
模型中装入mutator
方法,如下所示:
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;
}
要访问日期,只需创建一个acssor
方法,如:
public function getDateOfBirthAttribute()
{
return \Carbon\Carbon::createFromFormat('d-m-Y H:i:s', $this->date_of_birth);
}
现在,将使用在
mutator
方法中使用的格式插入出生日期
,当您显示该日期时,将使用在访问器
方法中使用的格式显示该日期。您还可以检查。Carbon
默认情况下在Laravel
中提供ans每个日期(created\u at
,deleted\u
默认情况下是Carbon
的实例)。我在每个表中都有created\u at
,因此,如果我可以在一个地方处理所有created\u
,这很容易。把任何代码放在像global.phphy这样的地方的想法我发现了一个想法可以作为@狼人来处理-Alpha说,但是我用上述方法实现的通用模型扩展了模型。谢谢