2009-07-07 10 views
1

Ich habe einige einfache Zeichenfolge -> DateTime Konvertierungen vor der Verwendung von DateTime.ParseExact(), aber ich habe eine Zeichenfolge, die ich nicht richtig analysiert werden kann scheinen. Ich mache wahrscheinlich etwas sehr offensichtliches falsch, aber ich kann einfach nicht sehen, was es ist.C# Kann nicht String zu DateTime Konvertierung in Arbeit

Der Code ist wie folgt:

string date = "Tue Jun 23, 2009 2:23 pm"; 
DateTime lastupdate = DateTime.ParseExact(date, "ddd MMM dd, yyyy h:mm tt", null); 

Laufen es eine Format gibt. Ist meine Formatierungszeichenfolge falsch?

ps Ich habe versucht, p.m zu verwenden. anstatt pm in der Eingabe-Zeichenfolge, aber das hat auch nicht geholfen.

+0

Jerry, ich kann auch nicht sehen, da du die Ausnahme nicht gepostet hast. –

Antwort

4

Versuchen Sie folgendes:

DateTime lastupdate = DateTime.ParseExact(date, "ddd MMM dd, yyyy h:mm tt", new System.Globalization.CultureInfo("en-us")); 

ein Fehler auftreten würde, wenn die Kultur zum Beispiel "fr-fr" oder "de-de" ist.

+0

Warum wird dies als richtig markiert? Ihr Datum ist falsch, was den Fehler verursacht. – GenericTypeTea

+1

Vielleicht hat er es bearbeitet, aber es ist Juni nicht Januar. – weiqure

+2

Das hat es getan. Ich denke, dass die regionalen Einstellungen meines Systems auf Niederlande eingestellt sind, also verwendet es wahrscheinlich auch diese Kultur. Ich hatte (noch) keine Ahnung, was die mitgelieferte Kultur im Parsing-Prozess tun würde, da ich buchstäblich die Formatierung der Saite anbot. Mein Fehler. Ich werde ein wenig weiterlesen in diese Funktionen :-) – Jerry

0

Sie müssen es genau analysieren, oder können Sie DateTime.Parse nicht einfach verwenden?

Verwandte Themen