Laravel 自帶時間處理函數 - Carbon 的 diffForHumans 方法

Carbon 是繼承自 PHP DateTime 類 的子類,但比後者提供了更加豐富、更加語義化的 API。其中一個比較實用的 API 就是 diffForHumans 方法,幾乎每一個用 Laravel 構建的項目中都有用到它。

好比,一個博客系統裏的文章發佈時間,顯示格式可能就像下面這樣:ide

**距離如今時間**     **顯示格式**
    < 1小時           xx分鐘前
    1小時 - 24小時     xx小時前 
    1天 - 15天         xx天前
    > 15天            直接顯示日期

第一步
本地化 Carbon。在 AppServiceProvider 的 boot 方法中添加 Carbon::setLocale('zh')。
這裏寫圖片描述spa

Carbon::setLocale('zh');

第二步
在 Model 中設定要人性化顯示的字段。以 Article Model 的 created_at 字段爲例。
這裏寫圖片描述code

public function getCreatedAtAttribute($value){
       return Carbon::createFromFormat('Y-m-d H:i:s', $value)->diffForHumans();
 }

下面就能夠直接使用了。orm

$article->created_at;
做者:不動峯
博客園: http://www.cnblogs.com/mylly/ 版權全部,歡迎保留原文連接進行轉載:)
相關文章
相關標籤/搜索