2016-12-19 8 views
2

time-subtractを使用して計算された時間差の値をフォーマットするにはどうすればよいですか?%Hとの時間差形式

 
before: (22616 21856 296901 800000)--13h47m12.296s 
after: (22616 21856 552345 800000)--13h47m12.552s 
diff: (0 0 255444 0)--0.255s--16h00m00.255s 

2つのタイムスタンプの差が、250msのについてです:それは次のように挿入評価

(let* 
    ((before (current-time)) 
    (after (progn (sit-for 0.25) (current-time))) 
    (diff (time-subtract after before))) 
    (insert (format "before: %s--%s\n" before (format-time-string "%Hh%Mm%S.%3Ns" before))) 
    (insert (format "after: %s--%s\n" after (format-time-string "%Hh%Mm%S.%3Ns" after))) 
    (insert (format "diff: %s--%s--%s\n" diff (format-time-string "%s.%3Ns" diff) 
        (format-time-string "%Hh%Mm%S.%3Ns" diff)))) 

:この単純な例を考えてみましょう。フォーマット文字列"%Hh%Mm%S.%3Ns"format-time-stringを使用してフォーマットすると、16が生成されます。

0にしないでください。

+1

[回答を受け入れる](http://meta.stackexchange.com/q/5234/215439) – sds

答えて

3

"16"はあなたのタイムゾーンから来ます。

(format-time-string "%Hh%Mm%S.%3Ns" diff 0)を入力すると、期待した結果(つまり、0)が表示されます。

+2

ありがとうございました。私が質問の書式設定に費やした時間の半分を助けて読んでいたら... –

+1

...それに答えるためのポイントを得ることはできません:-)(あなたは歓迎です) – sds