objectif
Créer des datetimes aware et convertir entre zones (UTC sûr).
code minimal
from datetime import datetime
from zoneinfo import ZoneInfo
dt = datetime(2025, 1, 1, 12, tzinfo=ZoneInfo("UTC"))
local = dt.astimezone(ZoneInfo("UTC"))
print(local.tzname() == "UTC" and local.hour == 12) # attendu: True
utilisation
from datetime import datetime, timezone
now_utc = datetime.now(timezone.utc)
print(now_utc.tzinfo is not None)
variante(s) utile(s)
from zoneinfo import ZoneInfo
print(isinstance(ZoneInfo("UTC").key, str))
notes
- “UTC” est toujours disponible; d’autres zones nécessitent tzdata système.
- Conservez vos datetimes en UTC et convertissez en affichage.