Python Glossary English

все Python 3datetimeпонятие

datetime.tzinfo

часовой пояс

Абстрактный базовый класс сведений о часовом поясе; конкретная реализация — timezone.

Синтаксис

class MyTz(datetime.tzinfo): ...

Класс абстрактный: сам экземпляр бесполезен, а наследник обязан реализовать utcoffset(), dst() и tzname(). Писать свой подкласс почти никогда не нужно — фиксированное смещение закрывает timezone, а зоны с переходом на летнее время — ZoneInfo из zoneinfo. На практике tzinfo встречается в проверке dt.tzinfo is None, которая отличает naive-дату от aware.

Примеры

import datetime
print(issubclass(datetime.timezone, datetime.tzinfo))   # → True
print(datetime.timezone.utc.tzname(None))   # → UTC
print(datetime.timezone(datetime.timedelta(hours=3)).utcoffset(None))   # → 3:00:00
d = datetime.datetime(2024, 5, 1, 12, 0, tzinfo=datetime.timezone.utc)
print(d.astimezone(datetime.timezone(datetime.timedelta(hours=3))).hour)   # → 15
print(datetime.datetime(2024, 5, 1).tzinfo)   # → None
print(datetime.tzinfo().utcoffset(None))   # → NotImplementedError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности