Nach MSDN erhält die statische Eigenschaft DateTimeFormatInfo.InvariantInfo "das standardmäßige schreibgeschützte DateTimeFormatInfo-Objekt, das kulturunabhängig (invariant) ist".DateTimeFormatInfo.InvariantInfo inkonsistente Datumsmuster?
Das lange Datumsmuster ist jedoch "dddd, dd MMMM yyyy" und gibt ein Format wie Montag, 29. Februar 2016. Dieses Format wird häufig auf dem Kontinent in Westeuropa verwendet.
Das kurze Datumsmuster ist jedoch "MM/TT/JJJJ", was zu einem Format 29.02.2016 führt. Dieses Format wird häufig in den USA verwendet.
Noch schlimmer, wenn Sie versuchen, in sortierbares Format "s" zu konvertieren, wird dieser FormatProvider in 29/2/2016 00:00:00 ergeben, die kaum sortierbar ist.
Ist dieses inkonsistente Verhalten ein Fehler oder ist es ein Kompromiss zu "kulturunabhängig"?
Ich glaube en-US kurzes Datum ist einzelne Monatsziffer, nicht Null gepolstert. Das ändert jedoch nichts an der Frage. –
Von dem, was ich im [Quellcode] (https://referencesource.microsoft.com/#mscorlib/system/globalization/calendardata.cs.045e92053a4b3c84) sehen kann, ist es alles nur hart-codiert ohne viele Kommentare zu erklären, warum, andere als vielleicht '// Setze unsere Standard/Gregorianischen US-Kalenderdaten. Das Problem besteht also möglicherweise nicht darin, dass es inkonsistent ist, vielleicht ist es das, aber Sie müssen die Definition für erwartete Formate finden. –