Работал ли с timezone
Python
Middle
Без компании
Работал ли с timezone
Ответы
Да, работал. В Python для работы с часовыми поясами используется модуль `pytz` или `zoneinfo` (начиная с Python 3.9). Основные моменты:
- **`pytz`** (устаревший, но до сих пор используется):
```
import pytz
from datetime import datetime
tz = pytz.timezone('Europe/Moscow')
now = datetime.now(tz)
print(now) # 2023-10-25 15:30:00+03:00
```
- **`zoneinfo`** (рекомендуется в новых проектах):
```
from zoneinfo import ZoneInfo
from datetime import datetime
tz = ZoneInfo('Europe/Moscow')
now = datetime.now(tz)
print(now) # 2023-10-25 15:30:00+03:00
```
Важно учитывать:
- Разницу между **наивными** (`datetime.now()`) и **осведомлёнными** (`datetime.now(tz)`) датами.
- Конвертацию между часовыми поясами.
- Летнее время (не все библиотеки корректно его обрабатывают).
Для веб-приложений часто используется **UTC** на бэкенде, а конвертация в локальный пояс делается на фронтенде.