Python 3.9 (oder höher): verwenden Sie zoneinfo aus der Standardbibliothek:
from datetime import datetime, timezone
from zoneinfo import ZoneInfo
# Israel und US/Pacific Zeit:
now_Israel = datetime.now(ZoneInfo('Israel'))
now_Pacific = datetime.now(ZoneInfo('US/Pacific'))
print(f"Israelische Zeit {now_Israel.isoformat(timespec='seconds')}")
print(f"Pazifische Zeit {now_Pacific.isoformat(timespec='seconds')}")
# Israelische Zeit 2021-03-26T18:09:18+03:00
# Pazifische Zeit 2021-03-26T08:09:18-07:00
# zur Referenz, lokale Zeit und UTC:
now_local = datetime.now().astimezone()
now_UTC = datetime.now(tz=timezone.utc)
print(f"Lokale Zeit {now_local.isoformat(timespec='seconds')}")
print(f"UTC {now_UTC.isoformat(timespec='seconds')}")
# Lokale Zeit 2021-03-26T16:09:18+01:00 # Ich bin in Europe/Berlin
# UTC 2021-03-26T15:09:18+00:00
Hinweis: es gibt ein Veraltetes Shim für pytz
.
Ältere Versionen von Python 3: Sie können entweder zoneinfo
über das backports Modul verwenden oder stattdessen dateutil verwenden. dateutils tz.gettz
folgt der gleichen Semantik wie zoneinfo.ZoneInfo
:
from dateutil.tz import gettz
now_Israel = datetime.now(gettz('Israel'))
now_Pacific = datetime.now(gettz('US/Pacific'))
print(f"Israelische Zeit {now_Israel.isoformat(timespec='seconds')}")
print(f"Pazifische Zeit {now_Pacific.isoformat(timespec='seconds')}")
# Israelische Zeit 2021-03-26T18:09:18+03:00
# Pazifische Zeit 2021-03-26T08:09:18-07:00
2 Stimmen
Genaue Kopie von : stackoverflow.com/questions/117514/…
0 Stimmen
Danke. Konnte es nicht finden, als ich nach dem Thema gesucht habe.
3 Stimmen
Möglicher Duplikat von Wie benutze ich Zeitzonen mit einem datetime-Objekt in Python?