エポックからのミリ秒数を取得するにはどうすればよいですか?
秒に1000を掛けたものではなく、実際のミリ秒が必要であることに注意してください。1秒未満でミリ秒の精度が必要なものの時間を比較しています。(私は多くの答えを見てきましたが、それらはすべて* 1000のようです)
POST リクエストで取得した時間をサーバーの終了時間と比較しています。それが何であれ、2回が同じ形式である必要があるだけです。Javascriptにはそれを取得する機能があるため、UNIX時間が機能すると考えました
エポックからのミリ秒数を取得するにはどうすればよいですか?
秒に1000を掛けたものではなく、実際のミリ秒が必要であることに注意してください。1秒未満でミリ秒の精度が必要なものの時間を比較しています。(私は多くの答えを見てきましたが、それらはすべて* 1000のようです)
POST リクエストで取得した時間をサーバーの終了時間と比較しています。それが何であれ、2回が同じ形式である必要があるだけです。Javascriptにはそれを取得する機能があるため、UNIX時間が機能すると考えました
time.time() * 1000
可能であれば、ミリ秒の精度が得られます。
int(time.time() * 1000)
あなたが望むことをします。time.time()
通常、エポックからの秒数をカウントする倍精度の float 値を返すため、乗算しても精度が損なわれることはありません。
@kqr の誤解を招く回答に対する別の言葉:time.clock()
エポックの時間を提供しません。Unix の CPU でプロセスが実行された時間、または Windows で関数を最初に呼び出してから経過した時間が表示されます。 python docsを参照してください。
また、ドキュメントの状態は、time.time()
ミリ秒の精度が保証されていないことも事実です。このステートメントは主に、組み込みまたは先史時代のハードウェアでこの精度に依存しないようにすることを目的としていますが、実際にミリ秒の精度が得られない例は知りません。
日時の使用:
>>> 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)
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
import datetime
time = datetime.datetime.now()
ms = time.microsecond
6 桁の数値 (マイクロ秒) を返します。最後の 3 桁は、マイクロ秒よりも遅いティックで動作するため、PC では役に立ちません。最初の 3 桁で十分です。