Update all datetime/timezone usage to avoid deprecated functionality.

Review Request #13429 — Created Nov. 22, 2023 and submitted — Latest diff uploaded

Information

Djblets
release-5.x

Reviewers

Django has deprecated django.utils.timezone.utc in favor of
datetime.timezone.utc. The rest of the django.utils.timezone methods
are still supported. Furthermore, datetime.timezone.utc cannot be
directly imported, and must be accessed through datetime.timezone.

This leaves two possible importable targets named datetime (both
datetime and datetime.datetime) and named timezone
(datetime.timezone and django.utils.timezone), all of which are
relevant.

In an effort to keep things sane and consistent, the codebase now
imports the top-level datetime (accessing everything as a direct
property access of that) and django.utils.timezone as timezone in
all affected modules. We may opt to go this route with all new Django
code going forward.

With this change, all datetime-related warnings in unit tests have been
removed.

All unit tests pass.

Commits

Files