ホームページ  >  記事  >  バックエンド開発  >  Python でタイムゾーンを変換する方法: 包括的なガイド

Python でタイムゾーンを変換する方法: 包括的なガイド

Susan Sarandon
Susan Sarandonオリジナル
2024-10-26 06:38:02265ブラウズ

How to Convert Timezones in Python: A Comprehensive Guide

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

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