Как работать с timezone в Python

Python Senior Без компании
Как работать с timezone в Python
Ответы
Для работы с часовыми поясами в Python используйте модуль `datetime` вместе с `pytz` или `zoneinfo` (в Python 3.9+). **Пример с `pytz`:** ``` from datetime import datetime import pytz utc = pytz.UTC now_utc = datetime.now(utc) # Текущее время в UTC print(now_utc) eastern = pytz.timezone('US/Eastern') now_eastern = now_utc.astimezone(eastern) # Конвертация в другой пояс print(now_eastern) ``` **Пример с `zoneinfo` (Python 3.9+):** ``` from datetime import datetime from zoneinfo import ZoneInfo utc = ZoneInfo("UTC") now_utc = datetime.now(utc) print(now_utc) eastern = ZoneInfo("America/New_York") now_eastern = now_utc.astimezone(eastern) print(now_eastern) ``` **Важно:** - Всегда храните время в UTC в базе данных. - Конвертируйте в локальный пояс только при отображении. - `pytz` требует `.localize()` для наивных datetime, `zoneinfo` — нет. - Для новых проектов предпочтительнее `zoneinfo`, так как он встроен в Python.