If I run this code...
var cults = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
var exam = from c in cults
from p in c.DateTimeFormat.GetAllDateTimePatterns('d')
select new { Culture = c.DisplayName, Format = p };
...I can see a dump of the various "short date" formats that Windows or .net thinks is customary or standard for different locales.
But how would anyone independently confirm or verify these values? I recognize that Microsoft has invested possibly many 10's of thousands of hours to vet these date-format lists. I don't actually think there are any errors. But I still want to know how did Microsoft itself perform the validation? Do they simply read every locale-specific rendition of the MLA Formatting and Style Guide?
Let's look at this a bit closer. According to the code I wrote above, below is the list of known or customary "short" date formats for the U.S.:
M/d/yyyy
M/d/yy
MM/dd/yy
MM/dd/yyyy
yy/MM/dd
yyyy-MM-dd
dd-MMM-yy
Please notice that the format string "dd/MM/yy" is absent. This implies that U.S. citizens don't write the first of August 2014 in the form "1/8/2014". I would agree with that. Then there is Japan:
yyyy/MM/dd
yy/MM/dd
yy/M/d
yyyy/M/d
yy/MM/dd' ('ddd')'
yy/M/d' ('ddd')'
yyyy/MM/dd' ('ddd')'
yyyy-MM-dd
Evidently, that locale has no customary usage of either d/M/yy or M/d/yy. This is great to know, but once again...how would I independently verify these options that .net is presenting to me?
One reason I ask is because I am in discussion with globalization engineers who aren't sure if they trust these values that .net produces. If they don't like Microsoft, then "what now" to convince them?