TOP > FAQインデックス > ログの時刻がずれる



≫ログの時刻がずれる

サーバの種類や時刻設定によってログの時刻がずれることがあります。

よくあるのは「9時間ずれ」です。
これはサーバの時間設定が日本時間ではなくグリニッジ標準時になっていることで起こります。

これを回避するにはいくつか方法があります。
  1. CGIスクリプトの初期設定を書き換える
    各CGIスクリプトの初期設定ファイル内に

    # ▼時刻設定
    $ENV{'TZ'} = "JST-9";
    $INI{'time'} = time;


    というような個所があると思います。
    通常、上記デフォルト設定で問題なく日本時間になります。

    しかし、
    $ENV{'TZ'} = "JST-9";
    という、時刻設定を標準時から9時間前にずらす設定が効かないサーバがあります。

    そういう場合には、time値を修正します。

    $INI{'time'} = time+32400; # 9時間前にずれる場合

    $INI{'time'} = time-32400; # 9時間後にずれる場合

    32400 という数字は 60 (秒) * 60 (分) * 9 (時間) です。
    Perlの時刻情報は積算秒であるため、秒単位で修正します。

    当サイトのCGIスクリプトは時刻取得を初期設定内だけで行っています。
    他の個所は修正など必要ありません。

  2. サーバの設定時刻を日本時間にする
    サーバ管理者に頼んでみるともしかしたらやってくれるかも。
    ただ、確率は非常に低いかと思います。
    また、最近は自宅サーバでルート権限を持っている人もいるかと思いますが、そういう場合はさっさとサーバの時刻設定を日本時刻にしましょう。
サーバの時刻設定を確認する timecheck.cgi もあります。
http://tech.bayashi.net/library/

時刻のずれる問題に関して、以下の方々のご協力とご報告に感謝致します。

KiWiさん、神威さん、表さん、汐菜さん、ちゃりさん、hideさん、コムさん、ジョージさん、つぼさん、しかたさん、pieroさん、若葉スクリプターさん、ericさん、torajiroさん

ありがとうございました\(^o^)/

TOP > FAQインデックス > ログの時刻がずれる
(C) bayashi.net