laravel5.8でアクセサを用いて,
created_atを「'Y年m月d日(D)H:i'」の形式で出力したいです。
リファレンスやteratailの過去質問を参考にしてやっているのですが、表示が変わらずにいます。
・試したコード
Carbonリファレンス「Common Formats」
Laravel Carbonのフォーマットで曜日が英語になる問題
を参考に以下のように書きました。
PHP
1<?php 2 3namespace App; 4 5use Carbon\Carbon; 6use Illuminate\Database\Eloquent\Model; 7class Impression extends Model 8{ 9 public function getCreatedAtAttribute($value) 10 { 11 12 $carbon = new Carbon($value); 13 return $carbon->isoFormat('YYYY年MM月DD日 LTS (ddd)'); 14 }
Laravel5.5 文字列を日付に変更するを参考に、以下も試してみました。
public function getCreatedAtAttribute($value) { // $date = new Carbon($value); $date = Carbon::createdFromFormat('Y-m-d D H:i', $value); return $date->format('Y年m月d日(D)H:i'); }
・どうなったか?
現状、フォーマットが効いていない状態です。
表示される日時は「2020-01-14 22:12:42」(Y-m-d H:i:s)です。
これを「2020年1月14日 22時12分」にフォーマットしたいのです。
元々はblade内で
<time>{{ $impression->created_at->format('Y年m月d日(D)H:i') }}</time>
として処理していたのですが、vueコンポーネント化に伴い、propsでオブジェクトとして渡す時にフォーマットしたいのですが・・・。
恐縮ですが、アドバイスいただけますと幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/25 05:53