ホームページ  >  記事  >  バックエンド開発  >  Python 日時オブジェクトをエポック タイムスタンプに正確に変換するには?

Python 日時オブジェクトをエポック タイムスタンプに正確に変換するには?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-17 09:34:03492ブラウズ

How to Accurately Convert Python Datetime Objects to Epoch Timestamps?

strftime を使用して Python Datetime をエポックに変換する

strftime('% を使用して Python datetime オブジェクトをエポックからの秒数に変換する場合s') 形式を使用すると、予期しない結果が発生する可能性があります。エポックからの正しい秒数ではなく、1 時間異なる値が取得される場合があります。これは、strftime がシステムのタイムゾーンを考慮してタイムゾーンのシフトを適用するためです。

解決策:

この問題を回避し、正しいエポック タイムスタンプを取得するには、いくつかのオプションが利用可能です。 :

Python 3.3 および後で:

  • timestamp() メソッドを使用します:

    >>> datetime.datetime(2012, 4, 1, 0, 0).timestamp()
    1333234800.0

Python 3.2 または以前:

  • 変換を明示的に実行します:

    >>> (datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds()
    1333238400.0

strftime('%s') の使用を避けます:

次の点に注意してください。 %s は、Python の strftime 関数では正式にサポートされていません。その機能はシステムの strftime 実装に依存しており、プラットフォームごとに異なり、タイムゾーンの不一致が生じる可能性があります。したがって、エポック タイムスタンプを正確に変換するには、上記の方法を使用することをお勧めします。

以上がPython 日時オブジェクトをエポック タイムスタンプに正確に変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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