3 回答

TA貢獻2012條經驗 獲得超12個贊
當您設置 dateFormat 屬性時,您正在定義日期在數據庫中的存儲方式以及模型序列化時它們的格式。
當您訪問模型上的生日屬性時,您仍將獲得一個 carbon 實例,該實例可用于以您想要的任何方式格式化生日。
請注意, dateFormat 還將更改您的birth_date 屬性的格式。
同時在模型中聲明:
class ModelName extends Model
{
protected $casts = [
'birth_date' => 'datetime:d/m/Y', // Change your format
];
}

TA貢獻1804條經驗 獲得超8個贊
您應該在遷移中使用它:
$table->date('birth_date');
日期總是以相同的格式存儲在數據庫中。例如,關于 DATE 數據類型的MySQL 文檔說:
支持的范圍是“1000-01-01”到“9999-12-31”。
您的應用程序可以將日期更改為您想要的格式。有不同的方法可以實現這一點。在您的觀點中,您可以使用format():
{{ $user->birth_date->format('dd, mm, YY') }}
// or if birth_date can be NULL:
{{ optional($user->birth_date)->format('dd, mm, YY') }}
作為替代方案,你可以使用一個訪問者在你的模型:
public function getBirthDateAttribute($date)
{
if (is_null($date)) {
return null;
} else {
return Carbon::parse($date)->format('dd, mm, YY');
}
}

TA貢獻1815條經驗 獲得超10個贊
$table->date('birth_date');
您可以在此處保存數據格式(Ymd),例如 (2019-12-31) 然后當您獲得此格式時,您可以顯示您想要的格式。
其他方式,如果你認為
$table->string('birth_date');
然后保存數據格式(Ymd),如(2019-12-31)。
當您嘗試顯示您想要的數據格式時,只需使用 Carbon\Carbon 并格式化您的日期
- 3 回答
- 0 關注
- 267 瀏覽
添加回答
舉報