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

Wie kann ich lokale Zeitzeichenfolgen in Python in UTC konvertieren?

Susan Sarandon
Freigeben: 2024-11-30 22:45:12
Original
323 Leute haben es durchsucht

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

Konvertieren lokaler Zeitzeichenfolgen in UTC

In bestimmten Szenarien kann es erforderlich sein, eine Datums-/Uhrzeitzeichenfolge von der Ortszeit in UTC zu konvertieren. Um dies zu erreichen, können wir die Module datetime und pytz von Python verwenden.

Schritt 1: Parsen der lokalen Zeitzeichenfolge

Beginnen Sie mit dem Parsen der lokalen Zeitzeichenfolge in eine naive Datumszeit Objekt. Einem naiven Datetime fehlen Zeitzoneninformationen.

Schritt 2: Identifizieren der lokalen Zeitzone

Bestimmen Sie als Nächstes die lokale Zeitzone mithilfe des pytz-Moduls. Konstruieren Sie ein Zeitzonenobjekt basierend auf diesen Informationen.

Schritt 3: Bearbeiten und Anhängen der Zeitzone

Verwenden Sie die Methode pytz.timezone(), um ein Zeitzonenobjekt zu erstellen, das die darstellt lokale Zeitzone. Es ist jedoch wichtig zu beachten, dass die Komplexität der Sommerzeit (DST) zu Mehrdeutigkeiten führt.

Schritt 4: Umrechnung in UTC

Um die Datums- und Uhrzeitangabe in UTC umzurechnen, wenden Sie an die Methode astimezone() zur lokalisierten Datums- und Uhrzeitangabe. Diese Methode passt die Datumszeit an UTC an und berücksichtigt dabei die Sommerzeit und andere Zeitzonenunterschiede.

Schritt 5: Formatieren der UTC-Zeichenfolge

Verwenden Sie abschließend die Methode strftime(), um Formatieren Sie die UTC-Datumszeit in die gewünschte Zeichenfolge Darstellung.

Beispiel:

Erwägen Sie die Konvertierung der Zeichenfolge „2001-2-3 10:11:12“ aus der lokalen Zeitzone „America/Los_Angeles“ in 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
Nach dem Login kopieren

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage