ホームページ >バックエンド開発 >Python チュートリアル >時間オフセットを含むタイムスタンプをPython datetimeオブジェクトに変換するにはどうすればよいですか?

時間オフセットを含むタイムスタンプをPython datetimeオブジェクトに変換するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-27 15:04:10686ブラウズ

How to Convert Timestamps with Time Offsets to Python datetime Objects?

strptime を使用してオフセットのあるタイムスタンプを日時オブジェクトに変換する

「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 モジュールの利用

別の解決策は、dateutil モジュールを利用することです。オフセット付きのタイムスタンプを処理できる解析関数が提供されます。

from dateutil.parser import parse

time_obj = parse(time_str)

解析関数は自動的にタイムゾーン情報を検出し、結果の datetime オブジェクトに含めます。

Python 3.2 以降

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 サイトの他の関連記事を参照してください。

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