Skip to content

fix(ui): improve the labels for default timeones #12746

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

paulpopus
Copy link
Contributor

Addresses #12700

Based on feedback, the current visual labels for the timezones we provide are not necessarily intuitive for people to use. Based on this article from NN Group, I've changed the labels so they follow a more recommended format to Cities - Region (Offset) instead of (Offset) - Cities so people can search and filter by region as well such as Europe when trying to narrow down their locations.

We're going to keep offsets based on the paper there but in the future we could enhance the picker here by:

  • Making the offset dynamic based on current DST
  • Have an indicator whether or not DST is active
  • Show a preview time/date for any timezone
  • Group timezones by Region
  • Detect the user's timezone and highlight it

@ryami333
Copy link

ryami333 commented Jun 10, 2025

This doesn't address my concern—it’s an aesthetic change that some might prefer, but it’s subjective.

I also think it’s a stretch to apply that research to this context. The study focuses on helping users identify their current timezone, prioritizing ease of use, not suitability for contexts like ours. For example, Slack’s timezone selector only affects how UTM dates are localized to the user’s preference. Payload’s case is the opposite: the UI must de-localize user-selected dates to UTM.

In fact, the article highlights a key distinction between timezones and timezone offsets—a distinction we should be careful not to blur.


Here’s an example of the problem:

Screenshot 2025-06-10 at 21 24 39

(Note that Berlin's offset on June 1st is GMT+02:00, because DST applies during the summer)

If the user selects 2PM as above, what ISO string should be stored? Should it be …T13:00:00Z or …T12:00:00Z?

  • If we store …T12:00:00Z, that accurately reflects 2PM in Berlin—but contradicts the GMT+01:00 label.
  • If we store …T13:00:00Z, it aligns with the label but would display as 3PM when localized, which isn't what the user picked.

To summarise, I think it's very misguided to associate these timezone offsets with datetime-pickers, specifically. By all means, use them in other contexts that more closely resemble the conditions of that NN Group study, but not here.

@ThijsAtFreave
Copy link

ThijsAtFreave commented Jun 16, 2025

If the user selects 2PM as above, what ISO string should be stored? Should it be …T13:00:00Z or …T12:00:00Z?
If we store …T12:00:00Z, that accurately reflects 2PM in Berlin—but contradicts the GMT+01:00 label.

Please tell me T12:00:00Z is stored. It'll be easy enough to tell people to basically ignore the "+01:00" label, it'll be impossible to get them to do their own timezone calculations to get the intended effect.

Besides that: completely agree with @ryami333 above: the offset should not be displayed here, as it'll be wrong a significant portion of the time.
If the offset should be presented, perhaps on hover of the timezone but dynamic based on the picked value?

{ label: 'Islamabad, Karachi - Asia (UTC+05:00)', value: 'Asia/Karachi' },
{ label: 'Jakarta - Asia (UTC+07:00)', value: 'Asia/Jakarta' },
{ label: 'Lagos - Africa (UTC+01:00)', value: 'Africa/Lagos' },
{ label: 'London, Lisbon (GMT) - Europe (UTC+00:00)', value: 'Europe/London' },
Copy link

@ryami333 ryami333 Jun 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Europe/London and Europe/Lisbon are not equivalent! This seems a bit ChatGPT hallucination-ish.

{ label: 'Jakarta - Asia (UTC+07:00)', value: 'Asia/Jakarta' },
{ label: 'Lagos - Africa (UTC+01:00)', value: 'Africa/Lagos' },
{ label: 'London, Lisbon (GMT) - Europe (UTC+00:00)', value: 'Europe/London' },
{ label: 'Midway Island, Samoa - Pacific (UTC-11:00)', value: 'Pacific/Midway' },

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Midway Island is not in Samoa, though it does use "Samoa Standard Time" which is not actually used in Apia, Samoa, ironically. I hope that this is illustrating just how important it is to just label a datetime-picker with just the IANA labels: Pacific/Midway and Pacific/Apia respectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants