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時間の時差は変わらぬまま...。

う~ん、どこに問題があるのでしょう。
後半(解決編)へ続きます。

\ 最新情報をチェック /

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください