ミリ秒を変換

解決


YAN  2006-06-05 20:42:34  No: 95652

環境:VB6

squidのlogを加工しようとしたのですが、ミリ秒で記録されていて
日付に変更する式が良く分かりません。
いろいろ調べてみたのですが、うまくいきません。
良い式はありますでしょうか?


ガッ  2006-06-05 21:18:24  No: 95653

こういうことなのでしょうか?

Dim ms As Long
Dim t_s As Long
Dim h As Long
Dim m As Long
Dim s As Long

ms = 12345000
t_s = ms \ 1000
h = t_s \ (60 * 60): t_s = t_s Mod (60 * 60)
m = t_s \ 60: t_s = t_s Mod 60
s = t_s
MsgBox h & ":" & m & ":" & s


KMM  2006-06-05 21:30:39  No: 95654

ログの書式は理解されているんでしょうか?
書式を理解されているなら、もうちょっと違った表現の質問になるように思いますが。

例えば「ある日付から起算しての経過時間がミリ秒単位で表現されている
数値を日付に変換するには?」とか。

まず、書式はどのようになっているか書いてください。
また、いろいろ調べられたようですので、何を解決しようとして
何を調べて、その結果その方法はこんな理由で却下した
というのを書いてもらえれば、回答する側も、あなたが調べたことを
蒸し返さなくてもすむのでありがたいですね。

で、たとえば「ある日付から起算して〜」の場合
DateAddを使えば簡単にできるかも

[求めたい日付]=DateAdd("s",[起点の日付],[経過ミリ秒数]/1000)


もげ  2006-06-05 22:01:31  No: 95655

>squidのlogを加工しようとしたのですが、ミリ秒で記録されていて

squidのaccess.logとVBをセットで知っている人限定で質問投げてるのですか?

ここでいう「ミリ秒で記録」とは
ミリ秒で表現されるUTC(1970/1/1基点)の時間(%9d.%03d)
とか補足しとかないと...。

VBの日付/時刻型だとミリ秒を管理できないので、
小数点で分けて、上位をDateAdd→Format関数で変換してから下位をくっ付ける
とか。

うるう秒の考慮
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200605/06050029.txt
は、いろいろ調べた中に入っているのかな...


YAN  2006-06-06 18:51:59  No: 95656

言葉足らずですみませんでした。
詳しく書かずに投稿してしまいました。
以後気をつけます。

>http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200605/06050029.txt
のを見て、やってみたのですが、perlで変換掛けた時間と全く合いませんでした。一度整理して考え直します。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加