Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在laravel 5中创建函数并使其全局可用于格式化datetime_Php_Function_Datetime_Laravel_Laravel 5 - Fatal编程技术网

Php 如何在laravel 5中创建函数并使其全局可用于格式化datetime

Php 如何在laravel 5中创建函数并使其全局可用于格式化datetime,php,function,datetime,laravel,laravel-5,Php,Function,Datetime,Laravel,Laravel 5,我是拉雷维尔的新手。我正在处理一个项目,其中有很多datetime值将显示在UI上。在CodeIgniter中,我使用它创建一个如下所示的函数,并将其放在助手目录中,使其在我的应用程序中可用 function datetime_to_text($datetime){ return date('j F Y, g:i a', strtotime($datetime)); } 如何使这样的函数在laravel 5中全局可用(能够在我的视图和控制器中访问)laravel中的日期时间转换为Car

我是拉雷维尔的新手。我正在处理一个项目,其中有很多datetime值将显示在UI上。在CodeIgniter中,我使用它创建一个如下所示的函数,并将其放在助手目录中,使其在我的应用程序中可用

function datetime_to_text($datetime){
    return date('j F Y, g:i a', strtotime($datetime));
}

如何使这样的函数在laravel 5中全局可用(能够在我的视图和控制器中访问)

laravel中的日期时间转换为
Carbon
对象

碳是一个奇妙的图书馆

默认情况下,在处创建的、在处更新的和在处删除的会自动为您转换。如果表中有其他DATETIME列,则只需将它们添加到Eloquent模型中的
$dates
数组:

class User {
    protected $dates = ['logged_in_at'];
}

现在,当您回显在处创建的
$object->时,它将调用Carbon
\uu toString()
方法。您可以使用以下选项设置默认格式:

Carbon::setToStringFormat('j F Y, g:i a');
或者,您可以使用

echo $object->created_at->format('j F Y, g:i a');

这可能对CodeIgniter专家有所帮助:

您可以在
app/Helpers/
中创建文件(使用make
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();
    }
}
现在只需在查看页面中调用:

<div class="col-md-12">
   {!! HelperClass::updatedOn($data->updated_at) !!}
</div>

{!!HelperClass::updatedOn($data->updated_at)

输出如下:
上次更新是在5分钟前。

您看到
http://laravel.com/docs/5.1/eloquent-mutators#date-变异子
https://github.com/briannesbitt/Carbon
?谢谢@andrewtweber。我应该把Carbon::setToStringFormat('jfy,g:ia')放在哪里;所以我不必做$object->created_at->format('jfy,g:ia');每一次。我正在使用blade进行我的视图。我的目标是拥有一个可以更改datetime格式的地方。碳::setToStringFormat('j F Y,g:i a');这是我真正想要的,但我不知道该放在哪里。我已经把它放在了我的模型中,但不断地出错。我已经提出了我的观点,但也不起作用。感谢您的帮助。@Fokwa最好将其放在您的应用程序服务提供商中
app/Providers/AppServiceProvider.php
我想就是这个文件。这是一个放置全局“启动”内容的好地方,您可以设置
protected$dateFormat='jfy,g:iaa'
在您的模型中设置Carbon应该使用的日期格式。@如果我错了,Tim会纠正我,但我相信这是存储在数据库中的格式,而不是作为
\uu toString
输出的格式。还是两者都有?这很有趣。我将试验这项技术,看看我得到了什么。非常感谢你。你和@andrewtweber的回答给了我难以置信的洞察力。我现在正在我的项目中使用这两种技术。太棒了:),继续@FokwaBest
<div class="col-md-12">
   {!! HelperClass::updatedOn($data->updated_at) !!}
</div>