// 「2019年01月01日(Tue)」になってしまう$formatted_date = $carbon_date->format('Y年m月d日(D)') // 日本語ロケールをセット setlocale(LC_ALL, 'ja_JP.UTF-8'); // これで「2019/01/01(火)」になります $dayOfWeek = $carbon_date->formatLocalized('%Y年%m月%d日(%a)'); ↑でもだめなら ubuntuなら OSの日本語ロケール設定をしてみる sudo apt-get install language-pack-ja sudo update-locale LANG=ja_JP.UTF-8 ↑の2行を実行して 一度再起動してみる 自分で頑張る(曜日の漢字を配列で定義) $weekday = ['日', '月', '火', '水', '木', '金', '土']; // これでも「2019/01/01(火)」になります $formatted_date = $formatted_date.'('.$weekday[$carbon_date->dayOfWeek].')';
Laravel5.8以降はOSに関係せずに日本語変換できるメソッドがあるらしい
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Carbonv2(基本的にLaravel5.8以降)を利用されているのであればformatLocalizedではなくisoFormatを使ってください。
Carbonv1で実装されたformatLocalizedはOSの言語パッケージが必要ですが、Carbonv2で実装されたisoFormatは内部的な変換を行うのでそれが不要になります。
またisoFormatはmomentjsと互換性があり、Javascriptと同じフォーマット文字列を使用できるためCarbonも推奨しています。
https://carbon.nesbot.com/docs/
もしCarbonv1をご利用であれば言語パッケージ(Ubuntuだとlanguage-pack-ja)がインストールされていないだけだと思うので、OSに合わせてそれをインストールしてみてください。