Pythonで現在時刻をミリ秒単位で取得することは、パフォーマンス測定やタイムスタンプの管理において重要です。ここでは、timeモジュールとdatetimeモジュールを用いた具体的な方法について詳しく解説します。

timeモジュールを使った方法

Pythontimeモジュールを使えば、エポック(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では、timedatetimeを使ってミリ秒単位で現在時刻を取得できます。特に、Python 3.7以降ではtime.time_ns()を使うことで高精度なタイムスタンプが得られ、パフォーマンス計測などに役立ちます。システムによっては、これらの方法を使い分けることで、より正確な時間管理が可能になります。