ホームページ >バックエンド開発 >Python チュートリアル >時間オフセットを含むタイムスタンプをPython datetimeオブジェクトに変換するにはどうすればよいですか?
「2012-07-24T23:14:29-」などの時間オフセットを含むタイムスタンプを扱う場合07:00」を使用して Python 日時オブジェクトに変換すると、問題が発生する可能性があります。 strptimeメソッド。 strptime 関数で指定されたデフォルトの形式は、時間オフセットをサポートしていません。
ただし、この変換に対処するためのいくつかの戦略を検討できます。
場合タイムゾーン情報を保存する必要はないため、変換中にタイムゾーン情報を無視することを選択できます。これは、タイムスタンプ文字列をスライスしてオフセットを除外することで実行できます。
time_str = "2012-07-24T23:14:29-07:00" time_str_no_offset = time_str[:19] # Remove the offset portion time_obj = datetime.datetime.strptime(time_str_no_offset, "%Y-%m-%dT%H:%M:%S") # Convert without offset
別の解決策は、dateutil モジュールを利用することです。オフセット付きのタイムスタンプを処理できる解析関数が提供されます。
from dateutil.parser import parse time_obj = parse(time_str)
解析関数は自動的にタイムゾーン情報を検出し、結果の datetime オブジェクトに含めます。
Python 3.2 以降を使用している場合、タイムゾーンのサポートが改善されました。 %z 形式指定子を使用して、タイムゾーン オフセットを含めることができます。
time_str = "2012-07-24T23:14:29-07:00" time_obj = datetime.datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S%z")
形式の最後のコロン文字を削除し、オフセットの前のハイフンをプラス記号またはに置き換える必要があることに注意してください。
これらのアプローチを実装すると、オフセットを含むタイムスタンプを Python の datetime オブジェクトに効果的に変換し、特定の形式に対応できます。要件。
以上が時間オフセットを含むタイムスタンプをPython datetimeオブジェクトに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。