Таймзона в Python — это набор правил, определяющих смещение от UTC для определенной географической области в различные моменты времени. Учитывает правила перехода на летнее/зимнее время и исторические изменения. Для работы с таймзонами используется модуль datetime и сторонние библиотеки, например, pytz или zoneinfo (встроенный в Python 3.9+).
Без корректной обработки таймзон:
Пример использования pytz:
python
Пример использования zoneinfo (Python 3.9+):
python
Главное отличие между "наивными" (naive) и "осведомленными" (aware) объектами datetime:
| Тип объекта | Определение таймзоны | Применимость к таймзонам |
|---|---|---|
| Naive | Не содержит информации | Не применим к локальным или UTC таймзонам |
| Aware | Содержит информацию | Применим к локальным и UTC таймзонам |
Всегда рекомендуется работать с "осведомленными" объектами datetime, особенно при обмене данными или работе с распределенными системами.