Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich lokale Zeitzeichenfolgen mit Python in UTC konvertieren?

Wie kann ich lokale Zeitzeichenfolgen mit Python in UTC konvertieren?

Linda Hamilton
Linda HamiltonOriginal
2024-11-30 22:56:22997Durchsuche

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

Konvertieren lokaler Zeitzeichenfolgen in UTC

Das Konvertieren einer lokalen Zeitzeichenfolge in eine UTC-Zeitzeichenfolge kann aufgrund von Zeitzonen und Tageslicht eine komplexe Aufgabe sein Zeitersparnis (DST) kann zu Unklarheiten führen. Dieser Artikel enthält eine detaillierte Erklärung, wie diese Konvertierung mithilfe der Module datetime und pytz erreicht wird.

Schritte:

  1. Parsen Sie die lokale Zeitzeichenfolge :
    Verwenden Sie die Funktion datetime.datetime.strptime(), um die Zeichenfolge als naives Datetime-Objekt ohne Zeitzone zu analysieren Informationen.
  2. Lokale Zeitzone prüfen:
    Bestimmen Sie die lokale Zeitzone, indem Sie das System abfragen oder die Funktion pytz.timezone() verwenden.
  3. Konstruieren Sie a Lokalisiertes Zeitzonenobjekt:
    Erstellen Sie ein Zeitzonenobjekt aus der lokalen Zeitzone mit pytz.timezone() Funktion.
  4. Lokale Zeitzone an Datum/Uhrzeit anhängen:
    Rufen Sie die Funktion pytz.localize() auf, um die lokale Zeitzone an die naive Datum/Uhrzeit anzuhängen, was zu einem lokalisierten Datum/Uhrzeit-Objekt führt.
  5. In UTC konvertieren:
    Verwenden Sie die Methode astimezone() für die lokalisierte datetime, um es in UTC zu konvertieren.
  6. UTC-Zeit formatieren:
    Wenden Sie die Methode strftime() auf die UTC-Datumszeit an, um sie als Zeichenfolge im gewünschten Format zu formatieren.

Beispiel:

Das folgende Beispiel konvertiert die lokale Zeitzeichenfolge „2001-2-3 10:11:12“ in der Zeitzone „America/Los_Angeles“ zur entsprechenden UTC-Zeit:

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"))

Dies wird ausgegeben: „2001-02-03 02:11:12 ".

Das obige ist der detaillierte Inhalt vonWie kann ich lokale Zeitzeichenfolgen mit Python in UTC konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn