猫でもわかるWebプログラミングと副業

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

PHP Laravel + Carbon で曜日を日本語で表示する

isoFormat メソッドを使うのが便利

Carbon には isoFormat というメソッドがあり、非常に便利です。

Carbon 単体で使う場合

Carbon 単体で使う場合は以下のように使います

<?php

// CarbomImmutable は Carbon とほぼ同じなのですが、
// 各メソッドが Immutable になっています。
// 詳細を知りたい人は調べてみてください。
CarbonImmutable::setLocale('ja');
$now = CarbonImmutable:now();
$now->isoFormat('YYYY/MM/DD(ddd)');
// 2022/09/06(火) のような表記になります。

ddd の部分が曜日なのですが、Locale によって表記が変わります。 setLocale で ja を指定してあげると月、火、... の表記になります。

dddd というd四文字のものもあり、こちらは、「月曜日」のような表記になります。

Laravel + Carbon で使う場合

Laravel と組み合わせて使う場合は、 setLocale する代わりに、 config/app.php の locale を指定してあげれば OK です。

<?php
    /*
    |--------------------------------------------------------------------------
    | Application Locale Configuration
    |--------------------------------------------------------------------------
    |
    | The application locale determines the default locale that will be used
    | by the translation service provider. You are free to set this value
    | to any of the locales which will be supported by the application.
    |
    */

    'locale' => 'ja',
<?php
$now = CarbonImmutable:now();
$now->isoFormat('YYYY/MM/DD(ddd)');
// => 2022/09/06(火)

プロフェッショナルWebプログラミング Laravel