2017-02-16 25 views
0

我收到了我的數據庫的這一天的日期:2017-02-06T22:25:12Z使用了碳PHP格式化

我試着用碳PHP格式化:

{{ \Carbon\Carbon::createFromFormat('Y-m-d H', '2017-02-06T22:25:12Z')->toDateTimeString() }} 

但這不工作,我想這個日期格式:17年6月2日22時25分12秒

回答

4

可以使用parse方法來獲得一個快速和骯髒的轉換

Carbon::parse('2017-02-06T22:25:12Z')->format('d-m-y H:i:s'); 

如果您正在使用一個模型來回報這個日期,你也可以看看使它通過將其添加到protected $dates[]陣列

+0

可能要更改該格式的功能,它不會給你想要的結果 – Neat

1

如果添加日期遷移回爲Carbon對象,一定要變異他們對你模型。

所以你的模型增加以下內容:

/** 
* The attributes that should be mutated to dates. 
* 
* @var array 
*/ 
protected $dates = [ 
    'your_date' 
]; 

https://laravel.com/docs/5.4/eloquent-mutators#date-mutators

如果發生變異的日期,就變成了碳的實例,這意味着你可以使用所有的碳格式化工具。

從文檔:

默認情況下,時間戳被格式化爲 'Y-M-d H:I:S'。如果您需要 自定義時間戳記格式,請在您的 模型上設置$ dateFormat屬性。此屬性決定日期屬性在 數據庫中的存儲方式以及將模型序列化爲 數組或JSON時的格式。

所以,如果你想改變的格式在任何地方使用$ DATEFORMAT你的模型像這樣:

protected $dateFormat = 'd-m-y H:i:s'; 

如果你只是想格式化你的約會你的視圖中,你可以像這樣:

{{ $your_date->format('d-m-y H:i:s') }} 

對於更高級的格式,你可以看看碳文檔: http://carbon.nesbot.com/docs/