現地時間文字列を UTC に変換する
特定のシナリオでは、日時文字列を現地時間から UTC に変換する必要が生じる場合があります。これを実現するには、Python の datetime モジュールと pytz モジュールを利用できます。
ステップ 1: ローカル時刻文字列を解析する
まず、ローカル時刻文字列を単純な datetime に解析することから始めます。物体。単純な datetime にはタイムゾーン情報がありません。
ステップ 2: ローカル タイムゾーンを特定する
次に、pytz モジュールを使用してローカル タイムゾーンを決定します。この情報に基づいてタイムゾーン オブジェクトを構築します。
ステップ 3: タイムゾーンの操作とアタッチ
pytz.timezone() メソッドを使用して、タイムゾーンを表すタイムゾーン オブジェクトを作成します。ローカルタイムゾーン。ただし、夏時間 (DST) の複雑さにより曖昧さが生じることに注意することが重要です。
ステップ 4: UTC への変換
日時を UTC に変換するには、以下を適用します。 astimezone() メソッドをローカライズされた日付時刻に変換します。このメソッドは、DST およびその他のタイムゾーンの違いを考慮しながら日時を UTC に調整します。
ステップ 5: UTC 文字列のフォーマット
最後に、strftime() メソッドを使用して、 UTC 日時を目的の文字列にフォーマットします表現。
例:
文字列「2001-2-3 10:11:12」をローカル タイムゾーン「America/Los_Angeles」から UTC に変換することを検討してください。
from datetime import datetime import pytz local = pytz.timezone("America/Los_Angeles") naive = datetime.strptime("2001-2-3 10:11:12", "%Y-%m-%d %H:%M:%S") local_dt = local.localize(naive, is_dst=None) utc_dt = local_dt.astimezone(pytz.utc) print(utc_dt.strftime("%Y-%m-%d %H:%M:%S")) # Output: 2001-02-03 18:11:12
以上がPython でローカル時刻文字列を UTC に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。