DateTime.ParseExact Zeichenfolgenformatausnahme

7

Ich versuche, eine Zeichenfolge in Datetime mit dem folgenden C # -Code zu konvertieren,

%Vor%

Jedes Mal, wenn ich dateTo als 1/1/2010 übergebe, schlägt es fehl, stattdessen muss die Zeichenfolge 01.01.2010 sein.

Welches Zeichenfolgenformat sollte ich verwenden, um sowohl den 01.01.2010 als auch den 01.01.2010 zu unterstützen?

    
Nevin Mathai 04.01.2010, 16:31
quelle

3 Antworten

16

Mit dem folgenden Datumsformat-Ausdruck können Sie entweder ein- oder zweistellige Tag- und Monatselemente verwenden.

%Vor%

Beachten Sie, dass das Kapital M signifikant ist - ein kleineres m ist der Platzhalter für die Minuten.

Weitere Informationen zu Datumsformat-Strings finden Sie hier .

Sie können den folgenden Powershell-Befehl verwenden, um sie zu testen.

%Vor%     
Scott Munro 04.01.2010, 16:39
quelle
3

Hauptstadt M ist Monat, wenig m ist Minuten denke ich.

Aber auf den Punkt der Frage, benutze Parse. ParseExact impliziert, dass Sie das genaue Format der Eingabe kennen.

    
gingerbreadboy 04.01.2010 16:32
quelle
1

Sie könnten dieses Format ausprobieren: MM/dd/yyyy , aber ich denke, es gibt keinen einzigen Formatstring, der beide Eingaben unterstützt. Sie könnten testen, ob die Länge Ihrer dateTo -Zeichenfolge weniger als 10 Zeichen beträgt, verwenden Sie M/d/yyyy , andernfalls MM/dd/yyyy .

    
Darin Dimitrov 04.01.2010 16:34
quelle

Tags und Links