CakePHP3での時間ズレを直したい

CakePHP3で時間がズレてることってありますよね。

ITのサービスで時間がズレてるって、わかりづらいし嫌ですよね。

自分も最初はズレていたので、直し方を説明します。

【自分の環境】
macOS Catalina
PHP7.4.2
CakePHP3.8
MAMP5.7
Apache2.2
MySQL5.7

app.phpの「App」「Datasources」部分を書き換える

デフォルトでは以下のようになっています。

(app.phpのApp部分)

'App' => [
        (中略)
        'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'UTC'),
        (中略)    
],

defaultTimezoneがUTCになっています。

これはほぼイギリスの時間なので、「+09:00」に変えます。

日本はイギリスより9時間進んでいるので、こういう表記だと思います。

また以下も書き換えます。

(app.phpのDatasources部分)

'Datasources' => [
        'default' => [
       (中略)
        'timezone' => 'UTC',
       (中略)
        ],
]

これもUTCを「+09:00」に書き換えます。

これで恐らく時間が日本時間になります。

これで直らない方はphpの設定やMySQLの設定を見てみてください。

こちらのサイトが詳しいです。

【CakePHP3】時刻がずれるときの設定修正方法 – atomicbox

終わりに

以上となります。

簡単でしたが、時間の直し方でした。

時間がズレていると開発時も何かと不便なので、直したいところです。

ありがとうございました。