Pythonで日時をミリ秒単位のUNIXタイムスタンプに変換する方法
UNIXタイムスタンプは、1970年1月1日00:00:00 UTCからの経過時間を表す数値で、システム間での時刻データのやり取りによく使われます。Pythonでは、timeモジュールを使って現在時刻をミリ秒単位で簡単に取得できます。
time.time()関数は、現在時刻を秒単位の浮動小数点数(float)として返します。これをミリ秒に変換するには、1000倍してから整数に丸めます。
現在時刻をミリ秒のタイムスタンプとして取得する
import time milliseconds = int(round(time.time() * 1000)) print(milliseconds)
実行結果
1514825676008
このように、現在時刻がミリ秒単位のUNIXタイムスタンプとして出力されます。
datetimeオブジェクトをミリ秒のタイムスタンプに変換する
特定の日時を持つdatetimeオブジェクトをミリ秒のタイムスタンプに変換したい場合は、timestamp()メソッドで秒単位の値を取得し、先ほどと同じ計算を行います。
from datetime import datetime dt = datetime(2018, 1, 1) milliseconds = int(round(dt.timestamp() * 1000)) print(milliseconds)
実行結果
1514745000000
ポイント:
time.time()… 現在時刻を秒単位の浮動小数点数で取得datetime.timestamp()… 指定したdatetimeオブジェクトを秒単位のタイムスタンプに変換- 1000倍して
int(round())で丸めることで、ミリ秒単位の整数値になります
-
Pythonで文字列をバイナリ(2進数)に変換する方法をわかりやすく解説
Pythonで文字列をバイナリに変換する基本の考え方Pythonで文字列をバイナリ(2進数)表現に変換するには、文字列内の各文字を1つずつ取り出し、それぞれを2進数へ変換したうえで、結果をひとつの文字列として連結します。各文字の文字コードは ord() 関数で取得でき、format() 関数に「b」フォーマット指定子を渡すことで、簡単に2進数形式へ整形できます。format() と ord() を使った変換方法最もシンプルなのが、format(ord(x), b) を使って各文字 x を2進数の文字列に変換する方法です。次の例では、文字列 hello world の各文字をスペース区切りのバイ
-
Unixエポックタイムスタンプとは?エポック時間を日付に変換する方法を徹底解説
コンピュータは、人間が使う自然言語(英語など)をそのまま理解できないことをご存知でしょうか?私たちが入力した命令はすべて、CPUが読み取って処理を実行する前に、バイナリコード(0と1だけで構成される2進数)へと変換されます。そして、処理結果も再び人間が読める形式へと翻訳されるのです。ここで一つ問題が生じます。「日付」は単純な0と1だけでは表現しきれない情報だという点です。この課題を解決するため、コンピュータ科学者たちは、あらゆる日付を「共通の基準点から経過した秒数」に変換する方式を採用しました。コンピュータに日付を与えると、内部では秒数へ変換され、時刻の起点となる最初の1秒から何秒経過したかが