Python-Zeitzonenkonvertierung erklärt
Das Konvertieren von Zeit über verschiedene Zeitzonen hinweg kann eine häufige Aufgabe in Python sein. In dieser Frage wird untersucht, wie diese Konvertierung effektiv durchgeführt werden kann.
Der empfohlene Ansatz umfasst die Konvertierung der interessierenden Zeit in ein UTC-fähiges Datetime-Objekt. Dies liegt daran, dass Datetime-Objekte in Python grundsätzlich keine Zeitzoneninformationen enthalten.
Sobald die Zeit in UTC angegeben ist, können Sie sie mit der Funktion astimezone in die gewünschte Zeitzone konvertieren. Betrachten Sie beispielsweise den folgenden Code:
<code class="python">from datetime import datetime import pytz utcmoment_naive = datetime.utcnow() utcmoment = utcmoment_naive.replace(tzinfo=pytz.utc)</code>
Dies konvertiert die aktuelle UTC-Zeit in ein UTC-fähiges Datetime-Objekt. Um in eine bestimmte Zeitzone zu konvertieren, verwenden Sie Folgendes:
<code class="python">localDatetime = utcmoment.astimezone(pytz.timezone('America/Los_Angeles'))</code>
Dadurch wird die UTC-Zeit in Pacific Time (PT) in Los Angeles konvertiert.
In Szenarien, in denen die Zeit möglicherweise nicht vorhanden ist Wenn Sie aufgrund der Sommerzeit oder anderer Faktoren die konvertierte Zeitzone ändern, können Sie den folgenden Ansatz verwenden:
<code class="python">localmoment_naive = datetime.strptime('2013-09-06 14:05:10', '%Y-%m-%d %H:%M:%S') localtimezone = pytz.timezone('Australia/Adelaide') try: localmoment = localtimezone.localize(localmoment_naive, is_dst=None) print("Time exists") utcmoment = localmoment.astimezone(pytz.utc) except pytz.exceptions.NonExistentTimeError as e: print("NonExistentTimeError")</code>
Hiermit wird versucht, eine Ortszeit in UTC umzuwandeln, wobei die Möglichkeit berücksichtigt wird, dass die Zeit aufgrund der Sommerzeit möglicherweise nicht existiert Zeit.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Zeitzonen in Python: Eine umfassende Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!