View Full Version : 生ログの詳細時間について質問
ichinose
2003/09/24, 11:51 AM
生ログの詳細時間ってどんな仕組みでしょうか?
詳細時間→通常の日付、時刻表示
という変換をしたいのですがその方法がわかりません。
アドバイスいただけたら幸いです。
craft
2003/09/24, 10:03 PM
1970年1月1日午前0時からの秒数ぽいです。
$shousai = 1064412060;
print( date("Y-m-d H:i:s",$shousai) );
ichinose
2003/09/25, 12:52 PM
秒数だったんですね。
整数部分が日数で…
という妙な思い込みがありました。
回答どうもありがとうございました。
mcpro
2005/08/14, 10:13 PM
1970年1月1日午前0時からの秒数ぽいです。
私のログ解析から分析した結果から見ると、
スタートは、1970年1月1日 午前9:00:00でないでしょうか? :confused:
kozika
2005/08/15, 10:00 AM
私のログ解析から分析した結果から見ると、
スタートは、1970年1月1日 午前9:00:00でないでしょうか? :confused:
日本のローカルタイムは UTC (協定世界時) より 9 時間の時差があるので、
その関係で午後 9 時という値が出てきたのでは?
ローカルタイム起算なのか UTC 起算なのかによっても計算が変わってくるとは思いますが、
Unix 系システムでは 1970年1月1日午前0時が日付の起算日だったはずなので、
間違ってはいないと思います。
# ピントはずれなこと言ってるかもしれません。
mcpro
2005/08/16, 10:06 PM
日本のローカルタイムは UTC (協定世界時) より 9 時間の時差があるので、その関係で午後 9 時という値が出てきたのでは?
なるほど。そうですね、UTCを考えていませんでした。助言ありがとうございます。
こちらのスレッドを参考にさせていただいて、詳細時間のいくつかを、時間の足し算ができるフリーソフト(M電卓)を探して、変換してみました。
「1970年1月1日 午前9:00:00」(日本時間)に、詳細時間の秒数を足したらぴったり合いました。
ですがこの作業をいちいちやるのかと思うと…
(当然、全てのひとの出入りを把握しようなどとは思っていませんが。)
ログを何カ月分とか一括ダウンロードした場合でも、どのあたりの行が何月何日、という見当がつくといいのに、と思っています。
いっぺんに、詳細時間→通常の日付、時刻表示という変換をしておけたら、後でひと目でわかっていいですよね。
みなさんは、どのように管理なさってるのでしょうか?
お金がかからず、導入があまり難しくなくて、できれば一括変換できるような方法がありましたら、よろしくお願いします。(もしくは、一括変換は無理だけど、上記「M電卓」より使いやすいツールとか)
ちなみに私は、初心者と名乗るには恥ずかしい年数経っていますが、上級者向けを勧められた場合、活用できるか自信ありません。
WinXP(Home)-SP2。生ログはWZ EDITORで開いています。
kozika
2006/10/17, 01:25 PM
ですがこの作業をいちいちやるのかと思うと…
(当然、全てのひとの出入りを把握しようなどとは思っていませんが。)
ログを何カ月分とか一括ダウンロードした場合でも、どのあたりの行が何月何日、という見当がつくといいのに、と思っています。
いっぺんに、詳細時間→通常の日付、時刻表示という変換をしておけたら、後でひと目でわかっていいですよね。
生ログは、コンピュータが扱いやすいように記録されたそのままのもので、人間が見てすぐ分かる形式になっていないのは当然です。だからこそ、「生ログ」という名前で呼ばれるわけです。
分かりやすい形で確認したければ、ログを「調理」する必要がありますね。
検索すればすぐ見つかるとは思いますが、apache のログをアナライズしてくれるツールはいくつもあるので、生ログに対して処理をするのではなく、そういったツールでログを開けばいいのではないかと思います。
参考:
http://kinshachi.ddo.jp/kurage/html/MT/comp/archives/000358.html
http://www.forest.impress.co.jp/article/2003/02/14/okiniiri.html
# apache ログ 解析 などのキーワードで検索すればいろいろ見つかりますよ。
kozikaさん、レスありがとうございました。
確か、Teacupかどこかの、ブログの純正アクセス解析の生ログは、日時も変換されてると聞いた覚えがあったものですから。
キーワード「apache」ですね。まずはそのことばの意味から知らなきゃ始まりませんね。調べて、ツール検索もしてみます。
ZTNRYINH
2006/10/18, 02:22 PM
Excel が使用できるようでしたら、
"詳細時間"の値に対して
誤) (詳細時間)/86400+26299.375
正) (詳細時間)/86400+25569.375
としてやるのが一番簡便な方法ではないかと思います。
一応書いておくと、
Excelの日付時刻は基点(1900/01/01 00:00:00)から1日(=24*60*60秒=86400秒)ごとに1ずつ増加、
誤) 詳細時間は基点(1972/01/01 09:00:00 ;Excel表記で26299.375)から1秒ごとに1ずつ増加
正) 詳細時間は基点(1970/01/01 09:00:00 ;Excel表記で25569.375)から1秒ごとに1ずつ増加
なので上の変換式となります。
# アクセス解析の生ログは生ログとはいってもApacheのログフォーマットとは異なるのでApacheのログ解析で調べていくと嵌りそうな気がします。
いくつかのツールの、作者サイトとか見て、2つダウンロードして使ってみました。
設定の難易度が高過ぎる(webalizer)、ログファイルの形式の違いで開けられない(ApacheLogViewer)、などで、結局、今回は導入を断念することにしました。
もっと力がついたら再チャレンジしようと思います。
kozikaさん、いろいろ勉強させていただきました。ありがとうございました!
ZTNRYINHさんすみません。追い越してました。
# アクセス解析の生ログは生ログとはいってもApacheのログフォーマットとは異なるのでApacheのログ解析で調べていくと嵌りそうな気がします。
ApacheLogViewerでファイルが開けなかった原因、そのへんにありそうですね。素人考えで、ファイルの拡張子を.logに変えたりもしてみたのですが。
Excelにインポート、やってみます。Excelファイル以外をExcelで開いてみたことないけど、何とかできそうな気がします。
「日付」と「時刻」を、「詳細時間」とは別の列に作ってみました(どうせなら秒数まで見たいので)。
変換結果 2008/10/13 12:15:28
実際のアクセス 2006/10/14 12:15:28
…???
かなり惜しいところまで迫れてる気がするので、明日、引き続き調べます。
ZTNRYINH
2006/10/18, 05:19 PM
詳細時間は基点(1972/01/01 09:00:00 ;Excel表記で26299.375)から1秒ごとに1ずつ増加
ではなくて、
詳細時間は基点(1970/01/01 09:00:00 ;Excel表記で25569.375)から1秒ごとに1ずつ増加
でした。なので、
(詳細時間)/86400+25569.375
ですね。
# 蛇足ですが、
(アクセス解析のログファイルはTAB区切りのtxtファイルなので、ファイルメニューから開かなくても)
Excelにドラッグ&ドロップするだけで開いてくれます。(少なくともウチのExcel2000では)
すごいです!一瞬で出ます!
↑その数字を算出する方法ググってたら、日が暮れてしまったのですが、おかげさまで解決しました。
ドラッグ&ドロップで開くのも、やってみました(ブラウザにはやるのに、なぜかExcelへの応用はしてなかった)。
ZTNRYINHさん、ありがとうございました!
「解析に時間かかってもいいから、グラフ化や分類されてるのがいい」ひとはkozikaさんの方法(それ用のツールで見る)、それが使えないひとには、テキストのままよりZTNRYINHさん式のほうがずっと見やすい、という感じでしょうか。
以下、ログ見に来るひと用の記録(私のレベルまで落としてあります)。
1. 生ログをExcelで開く。
2. 列A「詳細時間」の右に、空の列を2つ増やす。新しい列Bは日付(年月日)、列Cは時刻(時:分:秒)。
3. 列Bのセルの数式「=A●●/86400+25569.375」、セルの書式設定で「日付」を選択。
4. 列Cのセルの数式「=A●●/86400+25569.375」、セルの書式設定で「時刻」を選択。(秒数まで要らない場合は、セルは一列で足りる。もしくは、時間、スキル、根性などのあるひとなら、年から秒数まで入る書式をユーザー定義で自作?)
5. 邪魔だったら、列Aを「表示しない」にしてもいい。
vBulletin® v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.