Laravelインストール時はタイムゾーンが「UTC」に設定されているので、インストール後に設定を変更しないとDBのinsert時間とか「Carbon::now()」とかで取れる時間は日本時間と異なります。
タイムゾーンを日本時間に合わせる
「config/app.php」を開き、「timezone」という項目があるので、次のように変更します。
'timezone' => 'Asia/Tokyo',
設定はこれだけです。
きちんと設定できたか確認してみましょう。
ターミナル上でLaravelプロジェクトのディレクトリに移動し、次のコマンドを実行します。
php artisan tinker
「Psy Shell v0.9.12 (PHP 7.3.9 — cli) by Justin Hileman >>>」と表示されるので、次のコマンドを実行します。
echo Carbon\Carbon::now();
すると、こんな感じで時間が表示されるので、日本時間と合っていればOKです。
設定変更が反映されない場合の対処法
「config/app.php」の変更直後の場合、キャッシュが残っていてすぐに反映されない場合があります。
なので、設定を変更したけど、時刻が変わらないという人は以下のコマンドを試してみてください。
php artisan config:clear
これで、変更内容が反映されるはずです。