36

エポックからのミリ秒数を取得するにはどうすればよいですか?

秒に1000を掛けたものではなく、実際のミリ秒が必要であることに注意してください。1秒未満でミリ秒の精度が必要なものの時間を比較しています。(私は多くの答えを見てきましたが、それらはすべて* 1000のようです)

POST リクエストで取得した時間をサーバーの終了時間と比較しています。それが何であれ、2回が同じ形式である必要があるだけです。Javascriptにはそれを取得する機能があるため、UNIX時間が機能すると考えました

4

6 に答える 6

30

time.time() * 1000 可能であれば、ミリ秒の精度が得られます。

于 2013-08-11T05:42:22.770 に答える
20

int(time.time() * 1000)あなたが望むことをします。time.time()通常、エポックからの秒数をカウントする倍精度の float 値を返すため、乗算しても精度が損なわれることはありません。

@kqr の誤解を招く回答に対する別の言葉:time.clock()エポックの時間を提供しません。Unix の CPU でプロセスが実行された時間、または Windows で関数を最初に呼び出してから経過した時間が表示されます。 python docsを参照してください。

また、ドキュメントの状態は、time.time()ミリ秒の精度が保証されていないことも事実です。このステートメントは主に、組み込みまたは先史時代のハードウェアでこの精度に依存しないようにすることを目的としていますが、実際にミリ秒の精度が得られない例は知りません。

于 2013-08-11T07:30:45.973 に答える
14

日時の使用:

>>> import datetime
>>> delta = datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)
>>> delta
datetime.timedelta(15928, 52912, 55000)
>>> delta.total_seconds()
1376232112.055
>>> delta.days, delta.seconds, delta.microseconds
(15928, 52912, 55000)
于 2013-08-11T05:42:34.660 に答える
2

Python 3.7 introduced time.time_ns() to finally solve this problem since time.time() as mentioned is not useful for this.

"returns time as an integer number of nanoseconds since the epoch."

https://www.python.org/dev/peps/pep-0564/
https://docs.python.org/3/library/time.html#time.time_ns

于 2020-01-15T10:14:40.367 に答える
-4
import datetime
time = datetime.datetime.now()
ms = time.microsecond

6 桁の数値 (マイクロ秒) を返します。最後の 3 桁は、マイクロ秒よりも遅いティックで動作するため、PC では役に立ちません。最初の 3 桁で十分です。

于 2013-08-11T05:45:17.357 に答える