時間日期處理包--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 文檔。