close
Skip to content

zoneinfo Module

The zoneinfo module provides IANA time zone support for accurate timezone handling, including daylight saving time.

Complexity Reference

Operation Time Space Notes
ZoneInfo() O(n) O(n) n = tzdata size; cached after first load
Convert timezone O(log t) O(1) t = transitions in zone

Working with Time Zones

Using Timezones

from zoneinfo import ZoneInfo
from datetime import datetime

# Create timezone - O(n) on first load
est = ZoneInfo("America/New_York")
pst = ZoneInfo("America/Los_Angeles")

# Create datetime with timezone - O(1)
dt = datetime(2024, 1, 15, 12, 0, tzinfo=est)
print(dt)  # 2024-01-15 12:00:00-05:00

# Convert timezone - O(log t)
dt_pst = dt.astimezone(pst)
print(dt_pst)  # 2024-01-15 09:00:00-08:00

# Get timezone name - O(1)
print(dt.tzname())  # EST