laravel carbon 格式化日期_3分鍾短文:Laravel Carbon自定義日期時間格式


引言

laravel引用了強大的Carbon日期時間處理庫用於日期時間的操作, 並且在數據庫的格式化中使用該庫。本文就說一說程序中如何方便地使用 Carbon自定義格式。

08802a8d07e32b10fc3fb3ae12573fdf.png

學習時間

只要成功安裝了laravel的項目,已經內置了標准的carbon庫文件,比如說在寫入數據庫字段 created_at 時是這樣的格式:

$item['created_at'] => "2020-08-28 19:18:44"

 

如果不做格式化,可以手動處理該日期時間,調用carbon的解析函數構造Carbon對象:

$createdAt = Carbon::parse($item['created_at']);

 

獲取到Carbon對象之后,使用格式化函數進行字符串格式化操作。 比如說有比較特殊的地區日期格式,就可以使用標准字符串定義:

$suborder['payment_date'] = $createdAt->format('M d Y');

 

隨着laravel的版本更新升級,在模型中逐步引入了更加豐富的特性,比如說 casts 特性, 可以支持對模型數據查詢后進行指定的格式化操作,省卻了不少繁瑣的操作。

在模型中添加以下聲明:

protected $casts = [   'created_at' => 'datetime:Y-m-d',   'updated_at' => 'datetime:Y-m-d',   'deleted_at' => 'datetime:Y-m-d h:i:s'];

 

那么讀寫的數據都會使用Carbon代用該格式化字符串,對數據進行統一格式。

或者在laravel5中使用 $dates 屬性,功效與上面的方式相同:

protected $dates = ['created_at', 'updated_at']

 

讀取的時候,該字段都會返回一個null,或者Carbon對象。比如 User 模型中有下面的代碼:

namespace App;use IlluminateDatabaseEloquentModel;class User extends Model{   protected $dates = ['created_at', 'updated_at', 'deleted_at'];}

 

那么在使用的時候,手動自定義日期時間格式可使用鏈式操作:

$user->created_at->format('M d Y');

 

本質上是 User 模型實例化之后,會根據 $dates 內定義的格式,調用Carbon進行實例化該字段, 那么 $user->created_at 就會返回 Carbon 對象。 接着使用Carbon對象的 format 方法,返回自定義的格式就可以了。

在模板中打印默認格式的日期時間字符串,可以這樣使用:

{{$user->created_at->toFormattedDateString()}}

 

寫在最后

本文介紹了laravel模型中的 $casts $dates 等特性用於日期時間的格式化,或者轉換。 本質上還是Carbon對象的方法實現,掌握其靈活的特性方法才是關鍵。

Happy coding :-)

 

轉載:https://blog.csdn.net/weixin_39930748/article/details/111697770

 

  protected $casts = [
        'create_time' => 'date:Y-m-d H:i:s',
        'update_time' => 'date:Y-m-d H:i:s'
    ];

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM