多くのシナリオでは、Python で日付と時刻を処理するには、UTC タイムスタンプに変換する必要があります。協定世界時で動作する他のシステムまたはフレームワークとのシームレスな統合を実現します。ただし、この変換プロセスで障害が発生する可能性があります。たとえば、以下のスニペットは予期しない結果を生成します:
予期される結果は 2011 年 1 月 1 日の UTC タイムスタンプですが、代わりに 2010 年 12 月 31 日の 23:00 UTC が取得されます。
この問題の解決策を検討し、日付オブジェクトの正しい UTC タイムスタンプを取得する方法を理解しましょう。 Python.
提供された日付オブジェクト d は、時間情報を持たない日付を表すネイティブ Python 日付オブジェクトです。正しい UTC タイムスタンプを取得するには、日付オブジェクトが UTC のコンテキストで明示的に考慮されていることを確認する必要があります。
これを実現する 2 つの方法は次のとおりです。
オプション 1: Calendar.timegm()
を使用する このアプローチでは、日付オブジェクト d が UTC にあることを前提としています。 timezone.
出力は、2011 年 1 月 1 日、00:00 の正しい UTC タイムスタンプです。
オプション 2: datetime.timestamp() を使用する
このオプションは Python バージョン 3.3 以降で利用可能であり、タイムスタンプを取得する前に UTC タイムゾーンを明示的に指定します。
出力は前のアプローチと一致しています。
日付オブジェクトではなく日時オブジェクトがある場合、変換プロセスは次のようになります。若干異なります。次のメソッドを利用できます:
Python 3.3
Python 3 (< 3.3)
パイソン2
浮動小数点の潜在的な問題に注意し、タイムスタンプの正確性を確保してください。
以上がPython 日付オブジェクトを UTC タイムスタンプに正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。