Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python ein naives Datetime-Objekt mit Zeitzonenerkennung versehen?

Wie kann ich in Python ein naives Datetime-Objekt mit Zeitzonenerkennung versehen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-29 08:34:10648Durchsuche

How Can I Make a Naive Datetime Object Timezone-Aware in Python?

Ein Datetime-Objekt bewusst machen (nicht naiv)

Das Problem verstehen

Beim Umgang mit Datetime-Objekten ist es wichtig, Zeitzonen zu verwalten, um dies zu erleichtern Vergleiche und vermeiden Sie Unstimmigkeiten. Wenn Sie auf ein Datum/Uhrzeit-Objekt stoßen, dem Zeitzoneninformationen fehlen (sogenanntes naives Objekt), müssen Sie es möglicherweise hinzufügen, um einen Vergleich mit anderen Objekten mit Zeitzonenerkennung zu ermöglichen.

Lösung des Problems

Das Der bevorzugte Ansatz, um ein naives Datetime-Objekt bewusst zu machen, ist die Verwendung der Lokalisierungsmethode:

import datetime
import pytz

unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0)
aware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0, pytz.UTC)

now_aware = pytz.utc.localize(unaware)
assert aware == now_aware

Für die UTC-Zeitzone, in der die Sommerzeit nicht gilt Bedenken Sie, dass Sie auch die Methode „replace“ verwenden können, die ein neues Datetime-Objekt zurückgibt:

now_aware = unaware.replace(tzinfo=pytz.UTC)

Das obige ist der detaillierte Inhalt vonWie kann ich in Python ein naives Datetime-Objekt mit Zeitzonenerkennung versehen?. 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