Python
 Computer >> コンピューター >  >> プログラミング >> Python

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())で丸めることで、ミリ秒単位の整数値になります

  1. Pythonで文字列をバイナリ(2進数)に変換する方法をわかりやすく解説

    Pythonで文字列をバイナリに変換する基本の考え方Pythonで文字列をバイナリ(2進数)表現に変換するには、文字列内の各文字を1つずつ取り出し、それぞれを2進数へ変換したうえで、結果をひとつの文字列として連結します。各文字の文字コードは ord() 関数で取得でき、format() 関数に「b」フォーマット指定子を渡すことで、簡単に2進数形式へ整形できます。format() と ord() を使った変換方法最もシンプルなのが、format(ord(x), b) を使って各文字 x を2進数の文字列に変換する方法です。次の例では、文字列 hello world の各文字をスペース区切りのバイ

  2. Unixエポックタイムスタンプとは?エポック時間を日付に変換する方法を徹底解説

    コンピュータは、人間が使う自然言語(英語など)をそのまま理解できないことをご存知でしょうか?私たちが入力した命令はすべて、CPUが読み取って処理を実行する前に、バイナリコード(0と1だけで構成される2進数)へと変換されます。そして、処理結果も再び人間が読める形式へと翻訳されるのです。ここで一つ問題が生じます。「日付」は単純な0と1だけでは表現しきれない情報だという点です。この課題を解決するため、コンピュータ科学者たちは、あらゆる日付を「共通の基準点から経過した秒数」に変換する方式を採用しました。コンピュータに日付を与えると、内部では秒数へ変換され、時刻の起点となる最初の1秒から何秒経過したかが