Python は日時をエポックに変換する
- Python で明示的メソッドを使用して日時をエポックに変換する
-
Python で
timestamp()
関数を使用して日時をエポックに変換する -
Python で
strftime(format)
関数を使用して日時をエポックに変換する -
Python で
timegm
関数を使用して DateTime をエポックに変換する
datetime
ライブラリは Python プログラムにインポートできます。Python コードで日付と時刻を操作するために使用されるクラスを提供します。
エポックは経過時間を測定する開始点であり、その値は通常、使用されているプラットフォームによって異なります。
このチュートリアルでは、Python で日時をエポックに変換するさまざまな方法について説明します。
Python で明示的メソッドを使用して日時をエポックに変換する
このメソッドでは、現在の日付を取得し、開始日から手動で減算してから、total_seconds()
関数を使用して表示することにより、秒単位で変換します。
ここでの最初の日付は 1970/1/1 です。
次のコードは、明示的なメソッドを使用して、Python で日時をエポックに変換します。
import datetime
ts = (
datetime.datetime(2019, 12, 1, 0, 0) - datetime.datetime(1970, 1, 1)
).total_seconds()
print(ts)
出力:
1575158400.0
Python で timestamp()
関数を使用して日時をエポックに変換する
タイムスタンプは、特定のイベントが発生したときの値を示す一連の文字です。
Python には、エポック以降の日時のタイムスタンプを取得するために使用できる関数 timestamp()
が用意されています。
次のコードは、timestamp()
関数を使用して、Python で日時をエポックに変換します。
import datetime
ts = datetime.datetime(2019, 12, 1, 0, 0).timestamp()
print(ts)
出力:
1575158400.0
これはかなり簡単な方法であり、正確な出力を提供します。
timestamp()
関数は Python 3.3 以降でのみ機能し、古いバージョンの Python では使用できないことに注意してください。
Python で strftime(format)
関数を使用して日時をエポックに変換する
strftime(format)
メソッドは、ユーザーが指定した形式に基づいてオブジェクトを文字列に変換するために使用されます。
このプロセスの逆には、strptime()
メソッドが使用されます。
次のコードは、strftime(format)
メソッドを使用して、Python で日時をエポックに変換します。
import datetime
ts = datetime.datetime(2019, 12, 1, 0, 0).strftime("%s")
print(ts)
出力:
1575158400
strftime(format)
は常に正しい解決策を提供するとは限りません。このメソッドは、Python が実際にはサポートしていない strftime
の引数として%s
ディレクティブを使用します。Python は %s
をシステムの strftime
メソッドに転送するため、これは機能する可能性があります。
この方法は、日時をエポックに変換するための最も正確な方法ではありません。より優れたより正確な方法があるという理由だけで、この方法を使用することはお勧めしません。
Python で timegm
関数を使用して DateTime をエポックに変換する
timegm()
関数は特定の時間値を取り、対応する Unix タイムスタンプ値を返します。エポックは 1970 年と見なされ、POSIX エンコーディングが想定されます。time.gmtime()
関数と timegm()
関数は互いに逆です。
これらの関数を使用するには、calendar
ライブラリと time
ライブラリの両方を Python プログラムにインポートする必要があります。
calendar
モジュールは、カレンダーとそれに関連するいくつかの追加の便利な機能を出力する機能を提供します。
次のコードは、timegm()
関数を使用して日時をエポックに変換します。
import datetime
import calendar
d = datetime.datetime(2019, 12, 1, 0, 0)
print(calendar.timegm(d.timetuple()))
出力:
1575158400
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn