Skip to content

[Admin] Improve the admin's handling of dates and times #76

@kevinrenskers

Description

@kevinrenskers

Code of Conduct

  • I agree to follow Django's Code of Conduct

Feature Description

Add a dropdown to the navigation bar (or somewhere else) with time zones, so that dates and times can be entered for a specific time zone without having to calculate anything.

Problem

Question: when you see this help text under a field in the Django Admin, do you know what it means?

“Note: You are 1 hour ahead of server time.” Uhm, ok? Does that mean I have to enter times with an offset of one hour? Do I add an hour or subtract an hour? Or do I enter times “as is”, and Django is smart enough to deal with the difference of my time zone and “server time”?

My Django project has admins in multiple time zones, and literally all of them have asked me what they are supposed to fill in there. For example, let’s say that we want an item to be active from March 1, 2025 at 8:00, Pacific Time. The staff member in question is located in Berlin. Does this person enter 17:00, which is Pacific Time translated to CET? But you get this warning about being ahead of server time. So does the admin enter 16:00 instead? Or 18:00? What even is the “server time”, and why should this person care? I happen to know it’s set to UTC, but my admins don’t know that!

You know what would make this much better? A dropdown with time zones that goes into the navigation bar (or somewhere else), so that dates and times can be entered for a specific time zone without having to calculate anything. And the Admin can show these values translated to that time zone as well.

Request or proposal

request

Additional Details

See also https://forum.djangoproject.com/t/djangos-handling-of-datetimes-in-the-admin-interface-can-be-greatly-improved/36823 and https://www.loopwerk.io/articles/2025/django-admin-datetime/.

Implementation Suggestions

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    AdminDjango CoreThis idea is suitable for inclusion in Django itself

    Type

    No type

    Projects

    Status

    Idea

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions