ホームページ >バックエンド開発 >Python チュートリアル >Python を使用してローカル時刻文字列を UTC に変換するにはどうすればよいですか?

Python を使用してローカル時刻文字列を UTC に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-30 22:56:221014ブラウズ

How Can I Convert Local Time Strings to UTC Using Python?

現地時間文字列を UTC に変換する

現地時間文字列を UTC 時間文字列に変換することは、タイムゾーンや夏時間などの複雑なタスクになる可能性があります。時間の節約 (DST) は曖昧さをもたらす可能性があります。この記事では、datetime モジュールと pytz モジュールを使用してこの変換を実現する方法について詳しく説明します。

手順:

  1. ローカル時刻文字列を解析する:
    datetime.datetime.strptime() 関数を使用して、文字列を単純な形式で解析します。タイムゾーン情報のない datetime オブジェクト。
  2. ローカル タイムゾーンの確認:
    システムにクエリするか、pytz.timezone() 関数を使用して、ローカル タイムゾーンを決定します。
  3. ローカライズされたタイムゾーン オブジェクトを構築します:
    ローカルからタイムゾーン オブジェクトを作成しますpytz.timezone() 関数を使用してタイムゾーンを取得します。
  4. ローカル タイムゾーンを datetime にアタッチします:
    pytz.localize() 関数を呼び出して、ローカル タイムゾーンを単純な datetime にアタッチします。ローカライズされた日時オブジェクト内。
  5. に変換しますUTC:
    ローカライズされた日時で astimezone() メソッドを使用して、UTC に変換します。
  6. UTC 時刻をフォーマットします:
    strftime() メソッドを適用します。 UTC 日時を希望の文字列としてフォーマットします。 format.

例:

次の例では、現地時間文字列「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"))

これにより、出力: "2001-02-03 02:11:12".

以上がPython を使用してローカル時刻文字列を UTC に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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