Python Zoneinfo Modul

Das zoneinfo-Modul bietet IANA-Zeitzonenunterstützung für datetime-Objekte.

Das Modul wurde in Python 3.9 hinzugefügt.

from datetime import datetime
from zoneinfo import ZoneInfo

Verwende zoneinfo, wenn du reale Zeitzonen wie Asia/Shanghai, Europe/London oder America/New_York brauchst.

Zeitzonenbewusste Datetimes erstellen

from datetime import datetime
from zoneinfo import ZoneInfo

meeting = datetime(2025, 5, 13, 9, 0, tzinfo=ZoneInfo('Asia/Shanghai'))
print(meeting.tzname())
print(meeting.utcoffset())
CST
8:00:00

Der tzinfo-Wert macht das datetime zeitzonenbewusst. Das ist sicherer als mit einem naiven datetime zu arbeiten, wenn sich Nutzer in verschiedenen Ländern befinden.

Zwischen Zeitzonen konvertieren

from datetime import datetime
from zoneinfo import ZoneInfo

utc_time = datetime(2025, 5, 13, 1, 0, tzinfo=ZoneInfo('UTC'))
local_time = utc_time.astimezone(ZoneInfo('America/New_York'))
print(local_time.tzname())
print(local_time.hour)
EDT
21

Das Datum hat sich geändert, weil 1:00 UTC am 13. Mai 2025 in New York noch der Abend des 12. Mai war.

Den Zeitzonenschlüssel anzeigen

Das Attribut key speichert den IANA-Zeitzonennamen.

from zoneinfo import ZoneInfo

zone = ZoneInfo('Asia/Shanghai')
print(zone.key)
Asia/Shanghai