繁体   English   中英

如何在Laravel 5中创建函数并使它全局可用于格式化日期时间

[英]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_atupdated_atdeleted_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');

http://carbon.nesbot.com/docs/#api-formatting

这对于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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM