时间日期处理包--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 文档。