こんにちは、ニキです。
この記事はこんな方におすすめです。
- Laravelでtimezoneを変更する方法を知りたい
- 変更前後の動作確認方法も見たい
今回の記事では、LaravelのtimezoneをUTCからJST(日本標準時)に変更する方法を解説します。
すでにLaravelプロジェクトを始めている前提で進めますが、ローカルマシンにLaravelを直接インストールしている場合でも役立つ内容にしています。また、これからプロジェクトを始める方には以下の記事がおすすめです。
環境情報
- Chip: Apple M1
- macOS: Ventura 13.2.1
- Docker: 20.10.22
コンテナ上の環境情報
- Laravel: 10.16.1
- PHP: 8.2.8
- Nginx: 1.25.1
- MySQL: 8.0.34
先に結論
config/app.php内でtimezoneはデフォルトで以下のように設定されています。
'timezone' => 'UTC',
config/app.phpのtimezoneを以下のように変更します。
'timezone' => 'Asia/Tokyo',
Laravelのtimezoneを変更する
デフォルトのtimezoneを確認
プロジェクトルートへ移動したあと、以下のコマンドでREPL環境へ入ります。
# php artisan tinker
現在時刻がUTCで表示されるかを確認します。
> now()
以下のように表示されます。
= Illuminate\\Support\\Carbon @1691155751 {#6208
date: 2023-08-04 13:29:11.070041 UTC (+00:00),
}
timezoneをAsia/Tokyoに変更
config/app.phpのtimezoneを以下のように修正します。
'timezone' => 'Asia/Tokyo',
変更の反映を確認するために、REPL環境に入り直します。
> exit
# php artisan tinker
現在時刻がAsia/Tokyoで表示されるかを確認します。
> now()
= Illuminate\\Support\\Carbon @1691156607 {#6207
date: 2023-08-04 22:43:27.781728 Asia/Tokyo (+09:00),
}
まとめ
今回の記事では、LaravelのtimezoneをUTCからJST(日本標準時)に変更する方法を解説しました。