laravel的时间日期处理包Carbon用法

时间:2023-03-09 09:05:49
laravel的时间日期处理包Carbon用法

时间日期处理包--Carbon

Carbon – 是继承自 PHP DateTime 类的 API 扩展,它使得处理日期和时间更加简单。Laravel 中默认使用的时间处理类就是 Carbon。

Laravel 项目已默认安装了此包,所以不需要用 composer 安装它了。

只需要添加命名空间引用就好了:use Carbon\Carbon;

获取当前时间

可以同 now() 方法获取当前的日期和时间。如果你不指定参数,它会使用 PHP 配置中的时区:

echo Carbon::now(); //2017-05-18 12:21:10

如果想使用一个不同的时区,需要传递一个有效的时区作为参数:

// 直接使用字符串
echo Carbon::now('Europe/London'); //2017-05-18 08:21:45
// 或者
echo Carbon::now(new DateTimeZone('Europe/London'));

时间格式本地化

可以在 app/Providers/AppServiceProvider.php 的 boot() 方法中添加下面的代码来设置全局本地化:

public function boot()
{
\Carbon\Carbon::setLocale('zh');
}

这样就可以在前台调用,然后显示中文了。

比如在blade里显示文章创建时间:

$article->updated_at->diffForHumans()

加入 -diffForHumans() 之前,显示的是具体的时间,比如:2017-05-18 12:05:56 。用它之后,就变成 1周前了。

如果要了解更多详细用法,可以参考 Carbon 文档