[英]How to create a function and make it globally available for formatting datetime in laravel 5
我是Laravel的新手。 我正在一个具有很多datetime值的项目中,这些日期时间值将显示在UI上。 在Code Igniter中,我用于创建如下所示的函数,并将其放在helper目录中,并在我的应用中使用。
function datetime_to_text($datetime){
return date('j F Y, g:i a', strtotime($datetime));
}
我如何才能在laravel 5中全局使用这样的功能(可以在我的视图和控制器中访问)
Laravel中的日期时间将转换为Carbon
对象。
Carbon是一个很棒的图书馆。
默认情况下, created_at
, updated_at
和deleted_at
会自动转换为你。 如果表中还有其他DATETIME列,则只需将它们添加到Eloquent模型的$dates
数组中:
class User {
protected $dates = ['logged_in_at'];
}
http://laravel.com/docs/5.1/eloquent-mutators#date-mutators
现在,当您回显$object->created_at
,它将调用Carbon __toString()
方法。 您可以使用以下方法设置默认格式:
Carbon::setToStringFormat('j F Y, g:i a');
或者您可以轻松地格式化内容
echo $object->created_at->format('j F Y, g:i a');
这对于CodeIgniter专家可能会有所帮助:
您可以在app/Helpers/
创建文件(通过创建Helpers
目录)
像: app/Helpers/
HelperClass.php
<?php
namespace App\Helpers;
use Carbon\Carbon;
class HelperClass{
public static function updatedOn($updated_at)
{
return 'Last updated '. $updated_at->diffForHumans();
}
}
现在,您必须在config/app.php
添加此HelperClass
。
'aliases' => [
...,
'HelperClass' => 'App\Libraries\HelperClass'
]
现在,只需在您的视图页面中调用:
<div class="col-md-12">
{!! HelperClass::updatedOn($data->updated_at) !!}
</div>
像这样的输出: Last updated 5 minutes ago.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.