web-dev-qa-db-ja.com

Pythonで現在の時刻をミリ秒単位で取得しますか?

Pythonで現在時刻をミリ秒単位で取得するにはどうすればよいですか。

417
Naftuli Kay

私が必要としていることのために、上の@samplebiasのコメントに基づいて、私がしたことがここにあります:

import time
millis = int(round(time.time() * 1000))
print millis

簡単だよ。みんなありがとう、脳おならをごめんね。

再利用のために:

import time

current_milli_time = lambda: int(round(time.time() * 1000))

その後:

>>> current_milli_time()
1378761833768
577
Naftuli Kay

time.time() は2番目に解決を与えるだけかもしれません、ミリ秒のための好ましいアプローチは datetime です。

from datetime import datetime
dt = datetime.now()
dt.microsecond
71
Jason Polites
def TimestampMillisec64():
    return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000) 
35
user3324131

別の解決策はあなたがあなた自身のutils.pyに埋め込むことができる機能です

import time as time_ #make sure we don't override time
def millis():
    return int(round(time_.time() * 1000))
11
Cadey

Datetime付きのミリ秒を返す単純なメソッドがコードに必要な場合:

from datetime import datetime
from datetime import timedelta

start_time = datetime.now()

# returns the elapsed milliseconds since the start of the program
def millis():
   dt = datetime.now() - start_time
   ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000.0
   return ms
9
Pascal

ただサンプルコード:

import time
timestamp = int(time.time()*1000.0)

出力:1534343781311

8
Wilson Wu

現在のUTC時間をミリ秒単位で取得する最も簡単な方法は次のとおりです。

# timeutil.py
import datetime


def get_epochtime_ms():
    return round(datetime.datetime.utcnow().timestamp() * 1000)

# sample.py
import timeutil


timeutil.get_epochtime_ms()
2
Laymain

バージョン3.7からtime.time_ns()を使用して、Epochからナノ秒経過した時間を取得できます。だからあなたはできる

ms = time.time_ns() // 1000000 

整数秒でミリ秒単位で時間を取得します。

1
zardosht

ミリ秒で1000にこれらの乗算を行うことは、解決するか、何らかの前提条件を受け入れられるようにするのに適切です。実際には使用しないデータベースのギャップを埋めるために使用できます。ただし、正確なタイミングを必要とする実際の状況では、最終的に失敗します。特定のタイミングでアクションや処理を必要とするミッションクリティカルな操作にこの方法を使用することはお勧めしません。

たとえば、米国では往復のpingは30〜80ミリ秒です。それを切り上げて効率的に使用することはできません。

私の例では、1秒ごとにタスクが必要です。つまり、最初のタスクが応答した後に切り上げると、メインループサイクルごとに処理時間を掛けたままになります。これは、60秒ごとの合計関数呼び出しになりました。それは1日1440までです。あまり正確ではありません。

実際に使用することのないデータベースのギャップを解決することを超えて、より正確な推論を探している人のための考えです。

0
Mike Guidry