Laravelのタイムゾーンの初期値はUTC(協定世界時、Coordinated Universal Time)なので、このままだとDBの時間や取得した時間を扱うときに不都合が生じてしまう(9時間ずれる)。
これをJST(日本標準)に設定するためには、config/app.phpのtimezoneの記述を以下のように書き換える必要がある。
config/app.php
//'timezone' => 'UTC', // 初期値
'timezone' => 'Asia/Tokyo', // JST(日本標準時)
PHPのタイムゾーン(php.ini内のdate.timezone)を”Asia/Tokyo”にしても、Laravelのタイムゾーンは変更されないので注意。
LaravelのtimezoneをデフォルトのUTCからJST(日本標準時)へ変更する
GMTとUTCの違い
GMT(世界標準時)とTAI(国際原子時)のズレが0.9秒以内になるように調整したものがUTCとのこと。
※地球の自転速度は徐々に遅くなっているので、原子時計を用いた超高精度なTAIを基準にするとGMTとのズレが次第に大きくなってしまう。
GMT と UTC の違いは何? [CITIZEN-シチズン腕時計]