If you have an international audience that’s going to mess someone up.
Better yet require YYYY-MM-DD.
If you have an international audience that’s going to mess someone up.
Better yet require YYYY-MM-DD.
Is is the device display language, the keyboard input language, my geo location, my browser language, my legal location, my browser-preferred website language, the language I set last time, the language of the domain (looking at amazon.co.uk), the language that was auto-selected last time for me on mobile or... something else entirely?
I don't normally run Windows, so I can't check right now, but I think it's mostly "modern" applications that mess this up. Like the MS Store, Teams (obviously).
And for the rest of the users who have no idea about locales, using whatever locale they have on their computer might be technically incorrect for some of them, but at least they're somewhat used to that incorrectness already, as it's likely been their locale for a while and will remain so.
Not really. A lot of computers are set to US locale (probably because it's the default) and the user just has no idea why some programs have dates in some crazy middle-out format and avoids those programs.
Think about traveling to a different country for a limited time. I want my location, time zone, etc to be set to where I am. I traveled across the US a few years ago, and I would rather not have to mentally follow in which time zone I was. Heck, I don't even know where the limits are. Bonus points for DST happening on a different date than in Europe, and extra bonus for there being no DST in Arizona, except for Navajo Nation? I remember signs saying it was illegal to carry alcohol, but I don't recall anything about time zones.
But as a European, I don't want my date to suddenly appear in US format; I'm only there for a few weeks.
For normal date inputs, I really don't think there is a good reason to use anything else. (Possible exceptions I can think of: Selecting date ranges and/or showing extra data about the dates (like daily prices).)
https://stackoverflow.com/questions/7372038/is-there-any-way...
When I write in English, I of course also want to edit dates and numbers using English conventions. But instead, I am forced to use decimal comma and day/month order because those are the default locale for Swedish, which is my default locale. I have never encountered an OS that doesn't work that way. On the web you'll often don't know: it could be anything.
This is the equivalent of requiring all your text to be in Esperanto because dealing with separate languages is a pain.
"Normal" people never use YYYY-MM-DD format. The real world has actual complexity, tough, and the reason you see so many bugs and problems around localization is not that there aren't good APIs to deal with it, it's that it's often an after thought, doesn't always provide economic payoff, and any individual developer is usually focused on making sure it "looks good" I'm whatever locale they're familiar with.
It's also normal to speak Chinese in China. That doesn't mean that I should be speaking Chinese as well.
My point was that this isn't true.
- Use localization context to show the right order for the user
- Display context to the user that makes obvious what the order is
- Show the month name during/immediately after input so the user can verify
(And yes, always accept YYYY-MM-DD format, please.)
User enters German date "1. April"
MS Word: new ordered list with item "April"
User furiously hits delete key.