ホームページ  >  記事  >  バックエンド開発  >  Python の datetime オブジェクトを特定の日付からの経過秒数に変換する方法

Python の datetime オブジェクトを特定の日付からの経過秒数に変換する方法

DDD
DDDオリジナル
2024-10-26 22:27:03205ブラウズ

How to Convert Python datetime Objects to Seconds Elapsed Since a Specific Date?

Python で datetime オブジェクトを秒に変換する

Python で、指定された datetime オブジェクトの過去の固定時刻からの経過秒数を計算するは一般的な要件です。この期間を正確に決定するには、いくつかの異なるアプローチを使用できます。

特殊なケース: 1970 年 1 月 1 日

1970 年 1 月 1 日を表す日時オブジェクトの場合、次のようになります。秒への変換に使用できる代替メソッドは次のとおりです。

  • t.timestamp(): エポック (1970 年 1 月 1 日) からの秒数を浮動小数点形式で返します。
  • (t - datetime(1970, 1, 1)).total_seconds(): これは、指定された datetime オブジェクトとエポックの差を timedelta オブジェクトとして計算し、秒に変換します。

一般的なケース: 任意の開始日

1970 年 1 月 1 日以外の開始日の場合は、次の手順が必要です:

  1. 指定された日時オブジェクトの差を取得するそして希望の開始日。これにより、timedelta オブジェクトが生成されます。
  2. timedelta オブジェクトの total_seconds() メソッドを使用して、秒数に変換します。

例を示します:

import datetime
t = datetime.datetime(2009, 10, 21, 0, 0)
start_date = datetime.datetime(1985, 1, 1, 0, 0)
seconds_elapsed = (t - start_date).total_seconds()

UTC に関する考慮事項

これらの操作を実行するときは、開始日と指定された datetime オブジェクトが UTC (協定世界時) であることを確認することが重要です。そうでない場合、変換は正確ではない可能性があります。必要に応じて、tzinfo 属性を使用して日時オブジェクトを UTC に変換します。

以上がPython の datetime オブジェクトを特定の日付からの経過秒数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。