Konvertieren UTC in CST in Python
-
Verwendung das Moduls
dateutil.tzzum 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
zoneinfozum 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
pytzunterstützt fast alle Zeitzonen, deutlich mehr als das Moduldateutil.tzbietet. - Die Bibliothek des Moduls
pytzist deutlich optimierter. - Das Modul
pytzist historisch gesehen schneller alsdateutil.tz, aber die Lücke hat sich in den letzten paar Updates verringert. - Die Verwendung des Moduls
dateutil.tzwird in früheren Python-Versionen empfohlen, wenn das Modulpytznicht 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