все Python 3устарело в 3.12datetimeфункция
datetime.datetime.utcnow()
datetime
Возвращает текущее время UTC, но БЕЗ tzinfo (naive) — из-за этого его легко спутать с локальным. Устарел с Python 3.12: используй datetime.now(timezone.utc).
Синтаксис
from datetime import datetime
datetime.utcnow() # deprecated, 3.12+
Опаснее самого устаревания то, что naive-результат дальше молча считается локальным временем: utcnow().timestamp() или сравнение с datetime.now() уезжают ровно на величину вашего часового пояса. Правильная реакция при встрече в чужом коде — заменить на datetime.now(timezone.utc), помня, что у нового объекта появится tzinfo и в isoformat() допишется '+00:00'.
Примеры
from datetime import datetime, timezone
old = datetime.utcnow() # naive, устарело
print(old.tzinfo) # → None (нет пояса!)
new = datetime.now(timezone.utc) # современный аналог
print(new.tzinfo) # → UTC
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности