Laravel:更新日時などの時刻ずれを解消する
Laravel:更新日時などの時刻ずれを解消する
前から気になっていたんです。最終ログインを取得するパーツを作成したら時間がずれてるんです。
cronにて実行させているものは狙った時間の処理されてます。
ということは、おかしいのは『Laravel』ということになります。
Laravelは自前でタイムゾーンを持っている
勝手にサーバーの設定と同期していると思っていたらそうでもないようです。
それが、config/app.php のtimezone設定。
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'UTC',
書いてありますね。’timezone’ => 'UTC', って。
UTCとは協定世界時というものらしく、詳しくはこちらをご覧ください。
協定世界時と日本との時差は+9時間。
つまり、最終ログインの日時ログは午前8時にログインすると前日の23時がログに残るわけです。
はい、私の取得したログもそうなってました。
Laravelのtimezoneを修正する
日本の時間はJSTなので、こんな風にしてみました。
'timezone' => 'JST',
さぁ実行!
...9時間の時差は変わらぬまま...。
Quiitaに参考サイトを発見しました。
'timezone' => 'Asia/Tokyo',
上書き保存して再度実行。
...9時間の時差は変わらぬまま...。
う~ん、どこに問題があるのでしょう。
後半(解決編)へ続きます。


