Laravel:更新日時などの時刻ずれを解消する
Laravel:更新日時などの時刻ずれを解消する
前から気になっていたんです。最終ログインを取得するパーツを作成したら時間がずれてるんです。
cronにて実行させているものは狙った時間の処理されてます。
ということは、おかしいのは『Laravel』ということになります。
Laravelは自前でタイムゾーンを持っている
勝手にサーバーの設定と同期していると思っていたらそうでもないようです。
それが、config/app.php のtimezone設定。
1 2 3 4 5 6 7 8 9 10 11 12 |
/* |-------------------------------------------------------------------------- | 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なので、こんな風にしてみました。
1 |
'timezone' => 'JST', |
さぁ実行!
…9時間の時差は変わらぬまま…。
Quiitaに参考サイトを発見しました。
1 |
'timezone' => 'Asia/Tokyo', |
上書き保存して再度実行。
…9時間の時差は変わらぬまま…。
う~ん、どこに問題があるのでしょう。
後半(解決編)へ続きます。
-
前の記事
楽天市場:画像修正が終わらない。 2019.02.13
-
次の記事
楽天SEO:検索アルゴリズムを推測してみた 2019.02.19