Python で日時オブジェクトを秒に変換する
Python で日時オブジェクトを操作する場合、多くの場合、さまざまな目的でそれらを秒に変換する必要があります。分析目的。ただし、 toordinal() メソッドは、異なる日を持つ日付を区別するだけであるため、目的の出力を提供しない可能性があります。
特に 1970 年 1 月 1 日の特定の日付について、datetime オブジェクトを秒に正確に変換するには、次のようにします。複数のオプションが利用可能です。他のすべての開始日については、2 つの日付間の時差を計算する必要があります。
1970 年 1 月 1 日の場合:
datetime.datetime.timestamp(): このメソッドは、Unix エポックからの秒数を直接返します。これは、1970 年 1 月 1 日の 00:00:00 UTC に相当します。
t = datetime.datetime(1970, 1, 1)
seconds = t.timestamp()
time.mktime(): time.mktime() 関数は、datetime オブジェクトを秒に変換するためにも使用できます。 Unix エポック。
import time
t = datetime.datetime(1970, 1, 1)
time_struct = t.timetuple()
seconds = time.mktime(time_struct)
その他の開始日の場合:
timedelta.total_秒(): 2 つの datetime オブジェクトを減算すると、timedelta オブジェクトが生成されます。 timedelta の total_seconds() メソッドは、2 つの日付の間の秒数を提供します。
t = datetime.datetime(2009, 10, 21, 0, 0)
starting_date = datetime.datetime(1970, 1, 1)
seconds = (t - starting_date).total_seconds()
正確な結果を得るには、開始日を UTC (協定世界時) で指定する必要があることに注意することが重要です。日時が UTC でない場合は、日時を変換するか、適切なオフセットを使用して tzinfo クラスをアタッチする必要があります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3