ホームページ >バックエンド開発 >Python チュートリアル >タイムゾーン オフセットを含むタイムスタンプを Python 日時オブジェクトに変換する方法

タイムゾーン オフセットを含むタイムスタンプを Python 日時オブジェクトに変換する方法

DDD
DDDオリジナル
2024-11-27 05:48:09483ブラウズ

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

strptime を使用したオフセット付きのタイムスタンプから日時オブジェクトへの変換

形式 "YYYY-MM-DDTHH:MM:SS-hh:mm" から日時オブジェクトへのタイムスタンプの変換Python で strptime メソッドを使用するのは、時間オフセットが原因で困難になる場合があります

この例では、strptime は、「%Y-%m-%dT%H:%M:%S-%z」を使用したオフセット「-07:00」のタイムスタンプの解析に失敗します。 」形式。これは、strptime が Python 2 のタイムゾーンの '%z' ディレクティブをネイティブにサポートしていないためです。

回避策オプション:

1。タイムゾーンを無視する:

タイムゾーン情報が重要でない場合は、文字列をオフセットまで解析することで無視できます:

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')

2。 dateutil モジュールを使用します:

代わりに、dateutil モジュールはタイムゾーンをサポートするより堅牢な解析関数を提供します:

from dateutil.parser import parse
time_obj = parse(time_str)

Python 3 サポート:

Python 3.2 以降では、タイムゾーン処理のサポートが改善されました。オフセットから最後の「:」を削除し、「-」を「」に置き換えます:

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(''.join(time_str.rsplit(':', 1)), '%Y-%m-%dT%H:%M:%S%z')

これにより、タイムスタンプが正しく解析され、指定されたタイムゾーン オフセットを持つ datetime オブジェクトが作成されます。

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

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