Arbeit in Australien und wurden von US empfangene Nachricht, dass DateTime
String "Dec15" falsch ist das Parsen und Zurückkehren 15. Dezember 2016 statt 1. Dezember 2015. "Dec15" in den folgenden Schnipsel sind Variablen im wirklichen Leben.C# DateTime.Parse ignoriert Culture
var date = DateTime.Parse("Dec15", new CultureInfo("en-AU")); //returns December 1 2015
Ich kann nicht replizieren, auch nach meinem PC Format & Lage Wechsel zu US-zu-Punkt.
Allerdings kann ich replizieren, wenn ich den Code ändern, um eine US-Kultur zu verwenden.
var date = DateTime.Parse("Dec15", new CultureInfo("en-US")); //returns December 15 2016
Ich bin mir nicht bewusst, dass der Code ein Problem in der Vergangenheit war. Ich möchte etwas Hilfe verstehen, warum die CultureInfo
wird ignoriert/ersetzt mit, was scheint, dort Standardkulturen drüben in den USA zu sein.
Schätzen Sie Ihre Vorschläge.
ich in Australien bin, und 'DateTime.Parse („Dec15“)' in der Tat kehrt die erste von Dezember 2015, und nicht 15. Dezember, so denke ich, dass die Tatsache, dass sie in Australien sind, ein Red Hering ist, und es ist ein anderes Problem im Spiel – Rob
Dec15 ist in der Tat 2016-12-01 ... Es gibt keine Möglichkeit, das zu beheben Single app mit config so weit ich weiß (http://stackoverflow.com/questions/9104084/how-doi-iset-cultureinfo-currentculture-from-an-app-config-file) - aber wenn du kannst ' Um das fehlerhafte Parsing zu beheben, können Sie Ihre Benutzer bitten, Änderungen vorzunehmen Region zu was auch immer Sie mögen ... –