インフォメーションBBS
[使い方]
[タイトルのみ]
[関連発言]
[最新20発言]
[過去ログ一覧]
発言#1023を修正または削除できます:
お名前:
←パスワード(修正用)
アドレス:
タイトル:
本文:
#1022(スミコ氏)の書き込みを引用します: >はじめまして。アクセスログのCGI版を使っているのですが、時刻が外国 >サーバのため15時間遅れてしまいます。どのように書き足したらよいの >でしょうか?どうかお教えください。よろしくお願いします。 access3.cgiの中に時間表記を作成するサブルーチンがあります。 sub gmt_date { #HTTPプロトコルで定義された標準的な時間表記を作る local($t) = @_; @wdays = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"); @month = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); <FONT COLOR=#FFFF> ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime($t);</FONT> return sprintf("%s, %02d %s %04d %02d:%02d:%02d GMT", $wdays[$wday], $day, $month[$mon], $year+1900, $hour, $min, $sec); } この中の ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime($t); を ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime($t <FONT COLOR=RED>+ 9 * 60 * 60</FONT>); として下さい。(黄色が該当行で赤色が追加部分です) 少々うんちくをば・・・ (15時間のずれって、なんかおかしい様な気がしますが・・・) gmtime関数はグリニッジ標準時(世界標準時)を取得しますが、日本とは9時間(32400秒)のずれがあるはず。 $tの後ろの「+ 9 * 60 * 60」でグリニッジ標準時と日本標準時の9時間(32400秒)の時差を加算修正しています。 時間の誤差分の指定は秒で行って下さい。
[トップページに戻る]
管理人 :
キャメル