Python のタイムゾーン変換の説明
異なるタイムゾーン間での時刻の変換は、Python の一般的なタスクとなる場合があります。この質問では、この変換を効果的に実行する方法について説明します。
推奨されるアプローチには、対象の時刻を UTC 対応の日時オブジェクトに変換することが含まれます。これは、Python の datetime オブジェクトには本質的にタイムゾーン情報が含まれていないためです。
時間が UTC になったら、astimezone 関数を使用して希望のタイムゾーンに変換できます。たとえば、次のコードについて考えてみましょう。
<code class="python">from datetime import datetime import pytz utcmoment_naive = datetime.utcnow() utcmoment = utcmoment_naive.replace(tzinfo=pytz.utc)</code>
これは、現在の UTC 時間を UTC 対応の日時オブジェクトに変換します。特定のタイムゾーンに変換するには、次のコマンドを使用します。
<code class="python">localDatetime = utcmoment.astimezone(pytz.timezone('America/Los_Angeles'))</code>
これにより、UTC 時間がロサンゼルスの太平洋時間 (PT) に変換されます。
時間が存在しない可能性があるシナリオでは、夏時間またはその他の要因により変換されたタイムゾーンについては、次のアプローチを使用できます。
<code class="python">localmoment_naive = datetime.strptime('2013-09-06 14:05:10', '%Y-%m-%d %H:%M:%S') localtimezone = pytz.timezone('Australia/Adelaide') try: localmoment = localtimezone.localize(localmoment_naive, is_dst=None) print("Time exists") utcmoment = localmoment.astimezone(pytz.utc) except pytz.exceptions.NonExistentTimeError as e: print("NonExistentTimeError")</code>
これは、夏時間により時間が存在しない可能性を処理しながら、現地時間を UTC に変換しようとします。時間です。
以上がPython でタイムゾーンを変換する方法: 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。