Heim > Artikel > Backend-Entwicklung > Wie konvertiere ich ein naives Datetime-Objekt in ein bewusstes Datetime-Objekt in Python?
So machen Sie ein Datetime-Objekt bewusst (nicht naiv)
In Python können Datetime-Objekte entweder naiv oder bewusst sein. Einem naiven Objekt ist keine Zeitzone zugeordnet, während dies bei einem bewussten Objekt der Fall ist. Dies kann beim Vergleich von Datetime-Objekten zu Problemen führen, da naive Objekte nicht mit bewussten Objekten verglichen werden können.
Es gibt einige Möglichkeiten, ein naives Datetime-Objekt bewusst zu machen. Eine Möglichkeit besteht darin, die Methode „localize“ zu verwenden. Die Methode „localize“ verwendet ein Pytz-Zeitzonenobjekt als Argument und gibt ein neues Datetime-Objekt zurück, das die angegebene Zeitzone kennt.
Zum Beispiel:
import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) aware = pytz.utc.localize(unaware)
Dadurch wird ein neues Datetime-Objekt erstellt das die UTC-Zeitzone kennt.
Eine andere Möglichkeit, ein naives Datetime-Objekt darauf aufmerksam zu machen, ist die Verwendung der Ersetzungsmethode. Die Methode „replace“ akzeptiert eine Reihe von Schlüsselwortargumenten, darunter eines für das tzinfo-Attribut. Das tzinfo-Attribut kann auf ein Pytz-Zeitzonenobjekt gesetzt werden, um das Datetime-Objekt darauf aufmerksam zu machen.
Zum Beispiel:
import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) aware = unaware.replace(tzinfo=pytz.UTC)
Dadurch wird auch ein neues Datetime-Objekt erstellt, das die UTC kennt Zeitzone.
Sobald ein Datetime-Objekt bekannt ist, kann es mit anderen bekannten Datetime-Objekten verglichen werden. Zum Beispiel:
import datetime import pytz aware_1 = pytz.utc.localize(datetime.datetime(2011, 8, 15, 8, 15, 12, 0)) aware_2 = pytz.utc.localize(datetime.datetime(2011, 8, 15, 8, 15, 12, 0)) if aware_1 == aware_2: print("The two datetime objects are equal.")
Dies wird gedruckt: „Die beiden Datums-/Uhrzeitobjekte sind gleich.“
Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein naives Datetime-Objekt in ein bewusstes Datetime-Objekt in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!