116 Stimmen

Zeigen Sie die Zeit in einer anderen Zeitzone an

Gibt es einen eleganten Weg, um die aktuelle Zeit in einer anderen Zeitzone anzuzeigen?

Ich hätte gerne etwas im allgemeinen Geist von:

cur = 
print("Ortszeit   {}".format(cur))
print("Pazifikzeit {}".format())
print("Israelische Zeit {}".format())

2 Stimmen

0 Stimmen

Danke. Konnte es nicht finden, als ich nach dem Thema gesucht habe.

3 Stimmen

0voto

Cohen Punkte 23

Wenn Sie eine Methode wünschen, die nicht erfordert, pytz oder spezifische Zeitzonen-Bibliotheken zu importieren, können Sie es auf diese Weise tun, die nur datetime importiert. Durch die Verwendung von datetime, um die aktuelle UTC-Zeit zu erhalten und dann den Zeitzonenänderer hinzuzufügen, kann jede gewünschte Zeitzone erreicht werden.

Zum Beispiel liegt die Zeitzone in New York 4 Stunden hinter der UTC-Zeit oder UTC-04:00. Das bedeutet, dass wir diesen Code verwenden können, um die aktuelle Zeit in New York zu finden:

import datetime

utc_time = datetime.datetime.utc(now)
tz_modifier = datetime.datetime.timedelta(hours=-4)
tz_time = utc_time + tz_modifier

print(tz_time)

Um dies "eleganter" zu gestalten, wie gewünscht, könnte diese Methode verwendet werden:

from datetime import datetime, timedelta

utc = datetime.utcnow()
print("China-Zeit {}".format(utc+timedelta(hours=8)))
print("Griechenland-Zeit {}".format(utc+timedelta(hours=3)))
print("Hawaii-Zeit {}".format(utc+timedelta(hours=-10)))

Der Nachteil dieser Methode besteht darin, dass die tatsächlichen UTC-Unterschiede der Zeitzonen bereits bekannt sein müssen.

2 Stimmen

Das berücksichtigt keine DST-Änderungen.

-2voto

Guillem Gelabert Punkte 2645

Sie können diese Frage überprüfen.

Oder versuchen Sie pytz. Hier finden Sie eine Installationsanleitung mit einigen Beispielen zur Verwendung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X