DateTime.Parse löst immer eine Ausnahme in einer bestimmten Kultur aus

8

Ich habe einige alte Log-Dateien, die ich analysieren muss - anscheinend wurde das Datum gespeichert wie: 18/12/2012 11:09:39 - Alle meine Versuche, diese zu analysieren, sind gescheitert. Ich bin völlig verloren - Jede Hilfe oder Anweisung wäre großartig!

%Vor%     
BillyDvd 19.04.2013, 20:46
quelle

4 Antworten

3

Einige Daten sind in den Log-Dateien korrekt. Einige haben die seltsame Formatierung, die auf p endet. m. oder p.m .. Alle oben genannten Methoden scheinen zu versagen - und ja, ich habe sie alle ausprobiert :( Das war mein Hack / Fix für das Problem:

%Vor%     
BillyDvd 22.04.2013, 15:40
quelle
2

Versuchen Sie es mit DateTime.TryParseExact (). Hier ist ein Beispiel, das ich in LINQPad ausgeführt habe.

%Vor%     
Nick Vaccaro 19.04.2013 20:57
quelle
0

Verwenden Sie Ihre cultureInfo-Variable als zweiten Parameter von Parse. Dies wird die Kultur als Formatanbieter nutzen.

%Vor%     
Dave 19.04.2013 21:37
quelle
0

Das Problem besteht darin, dass Sie nicht die Kultur angeben, die in Ihrem Aufruf von Parse () verwendet werden soll. Ihr Aufruf verwendet die CurrentCulture-Eigenschaft des aktuellen Threads:

%Vor%

Die magische Beschwörung, die du brauchst, ist etwas wie:

%Vor%

Ihre andere Alternative besteht darin, die Kultur des aktuellen Threads zu ändern:

%Vor%

, bevor Sie DateTime.Parse() aufrufen. Tun Sie das beim Start und Sie sollten gut zu gehen (so lange, wie in der mexikanischen spanisch arbeiten, ist für Ihre Zwecke gut zu beachten, dass die aktuelle Kultur zu ändern wird sich nicht ändern, wie die Dinge angezeigt:.. Das ist in der Verantwortung des CurrentUICulture Eigenschaft des Threads

    
Nicholas Carey 19.04.2013 21:45
quelle

Tags und Links