Verwenden von DateTime.TryParseExact zum Überprüfen der DateTime-Kompatibilität des XML-Schemas

7

Ich versuche zu überprüfen, ob eine C # -Zeichenfolge mit dem XML-Schema dateTime-Format kompatibel ist. Wenn man sich die MSDN anschaut, sieht es so aus, als ob "o", "s" oder "u" Standardformatzeichenfolgen gültige dateTimes beschreiben könnten, aber ich kann DateTime.ParseExact nicht für mich arbeiten lassen. Was mache ich hier falsch?

%Vor%

Keine der oben genannten Arbeiten. Entschuldige, wenn meine Formatierung schlecht ist: erste Frage hier posten.

    
geardan 15.09.2009, 20:31
quelle

2 Antworten

14

Da Sie testen möchten, ob die Daten XML-kompatibel sind, können Sie die XmlConvert.ToDateTime Methode:

%Vor%

Dies wird FormatException ausgeben, wenn die angegebene Zeichenfolge nicht das richtige Format hat.

    
Fredrik Mörk 15.09.2009, 20:40
quelle
9

Verwenden Sie einfach XmlConvert.ToDateTime (beachten Sie, dass XmlConvert.ToDateTime(string) gilt jetzt als veraltet und Sie sollten XmlConvert.ToDateTime(string, XmlDateTimeSerializationMode) verwenden.

Wenn Sie jedoch darauf bestehen, DateTime.ParseExact zu verwenden (und es gibt gute Gründe, dies zu tun, aber dann sollten Sie DateTime.TryParseExact verwenden, um das Auslösen von Ausnahmefehlern zu vermeiden), können Sie die folgende Formatzeichenfolge verwenden:

%Vor%

Die Klammern in den obigen Absätzen könnten mühsam zu analysieren sein (ich habe die Angewohnheit, das zu tun; sorry).

    
jason 15.09.2009 20:44
quelle

Tags und Links