答えだけを知りたい方へ
=TEXT(A1/(86400*1000), "yyyy/MM/dd hh:mm:ss") + "1970/1/1" + "09:00"
ググったらすぐに数式は見つかるけど
Defautだとこんな感じで出力されます。
色々データ取ったあとに測定結果を出力フォーマットを変え忘れたことに気づいて非常にげんなりします。
httpSample t="32" lt="32" ts="1552176269063" s="true" lb="...
さてこのひと目でわ分からないtimestampをExcelで変換すればよいのですが、Googleで検索すると不思議な数式がみつかります。この A1
に上記の 1552176269063
を入れると 2019/3/10 9:04:29
と計算されます。たしかに合ってるっぽい。なんだこれ?
=( A1/86400000)+25569+0.375
この数式だと自信を持って合ってるとも言い切れないのでもう少し human readable な数式 をここに記録することにしました。
Excelのための変換数式を考える
まずjmeterのタイムスタンプの意味ですが、1970/01/01(UTC) からのミリ秒です。
the default saved data includes a time stamp (the number of milliseconds since midnight, January 1, 1970 UTC)
引用元: Apache JMeter - User's Manual: Listeners
次にExcelですが、Excelは 1
を 1日
として扱います(面倒くさい ̄^ ̄)
ですので素直に計算するなら
1.ミリ秒を yyyy/mm/dd hh:mm:ss
の形式に変換する
2.1970/01/01
に足す
3.JST
にする場合、更に 09:00
足す
というステップを踏めば良いです。
なお、Excelには秒をExcel形式のシリアル値に変換する関数がないので1は普通に計算します。
A1
にjmeterのタイムスタンプが入力されている場合は以下のように書けます。
TEXT(A1/(846000*1000), "yyyy/MM/dd hh:mm:ss")
あとは2,3も計算すると
=TEXT(A1/(86400*1000), "yyyy/MM/dd hh:mm:ss") + "1970/1/1" + "09:00"
出力フォーマットを変更する方法
jmeterの起動パラメータで以下を設定すれば良いようです。
-Djmeter.save.saveservice.timestamp_format="yyyy/MM/dd hh:mm:ss"
引用元:http://labs.timedia.co.jp/2012/04/jmeter-log-dateformat.html