PDA

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を考えていませんでした。助言ありがとうございます。

紗奈
2006/10/16, 02:37 PM
こちらのスレッドを参考にさせていただいて、詳細時間のいくつかを、時間の足し算ができるフリーソフト(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 ログ 解析 などのキーワードで検索すればいろいろ見つかりますよ。

紗奈
2006/10/18, 09:57 AM
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のログ解析で調べていくと嵌りそうな気がします。

紗奈
2006/10/18, 04:06 PM
いくつかのツールの、作者サイトとか見て、2つダウンロードして使ってみました。
設定の難易度が高過ぎる(webalizer)、ログファイルの形式の違いで開けられない(ApacheLogViewer)、などで、結局、今回は導入を断念することにしました。

もっと力がついたら再チャレンジしようと思います。
kozikaさん、いろいろ勉強させていただきました。ありがとうございました!

紗奈
2006/10/18, 04:10 PM
ZTNRYINHさんすみません。追い越してました。

# アクセス解析の生ログは生ログとはいってもApacheのログフォーマットとは異なるのでApacheのログ解析で調べていくと嵌りそうな気がします。
ApacheLogViewerでファイルが開けなかった原因、そのへんにありそうですね。素人考えで、ファイルの拡張子を.logに変えたりもしてみたのですが。

Excelにインポート、やってみます。Excelファイル以外をExcelで開いてみたことないけど、何とかできそうな気がします。

紗奈
2006/10/18, 05:04 PM
「日付」と「時刻」を、「詳細時間」とは別の列に作ってみました(どうせなら秒数まで見たいので)。

変換結果     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では)

紗奈
2006/10/18, 06:43 PM
すごいです!一瞬で出ます!
↑その数字を算出する方法ググってたら、日が暮れてしまったのですが、おかげさまで解決しました。
ドラッグ&ドロップで開くのも、やってみました(ブラウザにはやるのに、なぜか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を「表示しない」にしてもいい。