Pythonで現在時刻をミリ秒単位で取得することは、パフォーマンス測定やタイムスタンプの管理において重要です。ここでは、timeモジュールとdatetimeモジュールを用いた具体的な方法について詳しく解説します。
timeモジュールを使った方法
Pythonのtimeモジュールを使えば、エポック(1970年1月1日)からの経過時間を簡単に取得できます。これをミリ秒に変換するには、time.time()を使用して秒単位での経過時間を取得し、それを1000倍します。
サンプルコード
import time
current_millis = int(time.time() * 1000)
print(current_millis)
このコードでは、現在時刻をミリ秒単位で表示します。
datetimeモジュールを使った方法
datetimeモジュールのtimestamp()メソッドを使用して、現在の時刻を秒単位で取得し、ミリ秒に変換することも可能です。
サンプルコード
from datetime import datetime
current_millis = int(datetime.utcnow().timestamp() * 1000)
print(current_millis)
この方法では、UTC時刻を基準としたミリ秒を取得します。
Python 3.7以降の高精度な方法
Python 3.7以降では、time.time_ns()を使うことで、ナノ秒精度で時間を取得することが可能です。この値をミリ秒に変換するには、100万で割るだけです。
サンプルコード
import time
current_millis = time.time_ns() // 1_000_000
print(current_millis)
これにより、より高精度なミリ秒単位のタイムスタンプが得られます。
まとめ
Pythonでは、timeやdatetimeを使ってミリ秒単位で現在時刻を取得できます。特に、Python 3.7以降ではtime.time_ns()を使うことで高精度なタイムスタンプが得られ、パフォーマンス計測などに役立ちます。システムによっては、これらの方法を使い分けることで、より正確な時間管理が可能になります。