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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-02 22:27:12903ブラウズ

How to Convert Local Time Strings to UTC?

ローカルタイム文字列を UTC に変換する

多くのアプリケーションでは、タイムスタンプをローカルタイムゾーンから協定世界時 (UTC) に変換する必要があります。 ) 異なる地理的領域にわたって一貫した処理を保証します。これは、スケジュール、データ交換、同期などのタスクにとって特に重要です。

日時文字列を現地時間から UTC に変換するには、次の手順に従います。

  1. Parse文字列を単純な datetime オブジェクトに変換します。 これは、datetime モジュールの strptime() 関数を使用して行われます。結果として得られるオブジェクトは、タイムゾーン情報のない datetime.datetime インスタンスです。
  2. ローカル タイムゾーンを決定します。 これは、タイムゾーンの名前と定義のデータベースを提供する pytz モジュールを使用して実行できます。
  3. ローカル タイムゾーンからタイムゾーン オブジェクトを構築します。 の localize() メソッドを使用します。 datetime モジュールを使用して、単純な datetime にタイムゾーンを付加します。
  4. ローカライズされた datetime を UTC に変換します。 これは、datetime モジュールの astimezone() メソッドを使用して行われます。結果は、UTC タイムゾーンの新しい日時インスタンスです。
  5. 必要に応じて UTC 日時をフォーマットします。 datetime モジュールの strftime() メソッドを使用して、UTC 日時を目的の形式にフォーマットします。

ここでは、ローカル タイムゾーン「America/Los_Angeles」と、 string "2001-2-3 10:11:12":

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)
utc_str = utc_dt.strftime("%Y-%m-%d %H:%M:%S")
print(utc_str)  # Output: 2001-02-03 04:11:12

これらの手順に従うことで、現地時間文字列を UTC に確実に変換し、異なるタイム ゾーン間でタイムスタンプを一貫して処理できるようにすることができます。

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

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