Konvertieren UTC in CST in Python
-
Verwendung das Moduls
dateutil.tz
zum Konvertieren von Datum und Uhrzeit von UTC in CST in Python -
Verwendung das Modul
pytz
, um Datum und Uhrzeit von UTC in CST in Python umzuwandeln -
Verwendung das Modul
zoneinfo
zum Konvertieren von Datum und Uhrzeit von UTC in CST in Python
Python speichert Datum und Uhrzeit auf sehr ausgeklügelte Weise. Es hat einen Datentyp, der speziell zum Speichern dieser Art von Daten verwendet wird. Darüber hinaus bietet Python auch ein datetime
-Modul, das mehrere Klassen bietet, um Datum und Uhrzeit zu manipulieren.
Die Umrechnung in verschiedene Zeitzonen ist ein wesentlicher Bestandteil der Manipulation von Datum und Uhrzeit. In diesem Artikel werden wir zwei solcher Zeitzonen diskutieren, nämlich UTC und CST, und die verschiedenen Möglichkeiten, die erstere in die letztere umzuwandeln.
Das Modul datetime
ist eine Notwendigkeit und muss importiert und in allen im folgenden Artikel erwähnten Methoden verwendet werden.
Verwendung das Moduls dateutil.tz
zum Konvertieren von Datum und Uhrzeit von UTC in CST in Python
Das Modul dateutil
aktiviert das Standardmodul datetime
, indem es einige bedeutende Erweiterungen bereitstellt. Das Modul dateutil.tz
liefert Zeitzonenimplementierungen, die eine Unterklasse des abstrakten Typs datetime.tzinfo
sind.
Hier werden wir häufig die Funktion tz.gettz()
verwenden, die im Wesentlichen ein Objekt der Zeitzone aus dem als Argument übergebenen String abruft.
Der folgende Code verwendet das Modul dateutil.tz
, um das Datum und die Uhrzeit von UTC in CST in Python umzuwandeln.
import datetime
from dateutil import tz
from_zone = tz.gettz("UTC")
to_zone = tz.gettz("America/Chicago")
json_data = {"time": "2021-10-08T08:17:42Z"}
utc = datetime.datetime.strptime(json_data["time"], "%Y-%m-%dT%H:%M:%SZ")
utc = utc.replace(tzinfo=from_zone)
cst = utc.astimezone(to_zone)
print(utc)
print(cst)
Der obige Code liefert die folgende Ausgabe:
2021-10-08 08:17:42+00:00
2021-10-08 03:17:42-05:00
Verwendung das Modul pytz
, um Datum und Uhrzeit von UTC in CST in Python umzuwandeln
Das Modul pytz
unterstützt die allermeisten Zeitzonen und ist damit das perfekte Modul, um Datums- und Zeitkonvertierungsfunktionen bereitzustellen und Funktionen bereitzustellen, die einfache Zeitzonenberechnungen in der Python-Anwendungssoftware des Programmierers ermöglichen.
Darüber hinaus ermöglicht das Modul pytz
die Erstellung intelligenter datetime
-Objekte oder Instanzen, die ihre Zeitzone kennen. Das Modul pytz
muss manuell installiert werden und kann mit dem Befehl pip
ausgeführt werden.
Der folgende Code verwendet das Modul pytz
, um das Datum und die Uhrzeit von UTC in CST in Python umzuwandeln
from datetime import datetime, timezone
import pytz
fmt = "%Y-%m-%d %H:%M:%S %Z%z"
e = pytz.timezone("US/Central")
time_from_utc = datetime.fromtimestamp(1607020200, tz=timezone.utc)
time_from = time_from_utc.astimezone(e)
time_from.strftime(fmt)
time_to_utc = datetime.fromtimestamp(1609785000, tz=timezone.utc)
time_to = time_to_utc.astimezone(tz=pytz.timezone("US/Central"))
print(time_to_utc)
print(time_to)
Der obige Code liefert die folgende Ausgabe:
2021-01-04 18:30:10+00:00
2021-01-04 12:30:10-06:00
Obwohl sowohl die Module dateutil.tz
als auch pytz
verwendet werden, um ähnliche Dinge in Python zu implementieren, weisen sie einige Unterschiede auf.
- Das Modul
pytz
unterstützt fast alle Zeitzonen, deutlich mehr als das Moduldateutil.tz
bietet. - Die Bibliothek des Moduls
pytz
ist deutlich optimierter. - Das Modul
pytz
ist historisch gesehen schneller alsdateutil.tz
, aber die Lücke hat sich in den letzten paar Updates verringert. - Die Verwendung des Moduls
dateutil.tz
wird in früheren Python-Versionen empfohlen, wenn das Modulpytz
nicht stabil genug war.
Verwendung das Modul zoneinfo
zum Konvertieren von Datum und Uhrzeit von UTC in CST in Python
Mit der Einführung von Python 3.9 kam das Modul zoneinfo
, das die Installation anderer Bibliotheken von Drittanbietern zur Verwaltung von Zeitzonen überflüssig machte. Das Modul zoneinfo
erledigt alles selbst.
Das Modul zoneinfo
wird verwendet, um eine starke Zeitzonenimplementierung bereitzustellen, die, wie in PEP 615
spezifiziert, die Zeitzonendatenbank IANA
unterstützen kann.
Der folgende Code verwendet das Modul zoneinfo
, um Datum und Uhrzeit von UTC in CST in Python umzuwandeln.
# >= Python 3.9
from datetime import datetime
from zoneinfo import ZoneInfo
naive_datetime = datetime(2021, 10, 8, 12, 0, 0)
user_tz_preference = ZoneInfo("US/Central")
user_datetime = naive_datetime.replace(tzinfo=user_tz_preference)
user_datetime = datetime(2011, 10, 26, 12, tzinfo=ZoneInfo("US/Central"))
utc_datetime = user_datetime.astimezone(ZoneInfo("UTC"))
print(user_datetime.isoformat())
print(utc_datetime.isoformat())
Der obige Code liefert die folgende Ausgabe:
# 2021-10-08T12:00:00-06:00
# 2021-10-08T19:00:00+00:00
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn