Mit DateTime.TryParseExact, um zu überprüfen, XML Schema dateTime-compliance
Ich versuche, stellen Sie sicher, dass ein C# - string ist kompatibel mit XML Schema dateTime-format. Suchen Sie auf der MSDN, wie es scheint, "o", "s" oder "u" - standard-format-strings können alle beschreiben gültigen dateTimes, aber ich kann Sie nicht DateTime.ParseExact für mich zu arbeiten. Was mache ich hier falsch?
string myDate = "1999-05-31T13:20:00.000-04:00";
DateTime.ParseExact(myDate, "o", CultureInfo.InvariantCulture, DateTimeStyles.None);
DateTime.ParseExact(myDate, "s", CultureInfo.InvariantCulture, DateTimeStyles.None);
DateTime.ParseExact(myDate, "u", CultureInfo.InvariantCulture, DateTimeStyles.None);
Keines der oben genannten Arbeit. Sorry, wenn meine Formatierung ist schlecht: zum ersten mal eine Frage hier.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie testen möchten, dass die Daten XML-konform ist, könnten Sie die
XmlConvert.ToDateTime
Methode:Diese werfen wird
FormatException
wenn der übergebene string nicht das richtige format.Verwenden Sie einfach
XmlConvert.ToDateTime
(beachten Sie, dassXmlConvert.ToDateTime(string)
ist nun als obsolet und sollten SieXmlConvert.ToDateTime(string, XmlDateTimeSerializationMode)
.Jedoch, wenn Sie darauf bestehen, mit
DateTime.ParseExact
(und es gibt gute Gründe, dies zu tun, aber dann sollten SieDateTime.TryParseExact
zu vermeiden, Ausnahme werfen in Fällen von Versagen) können Sie die folgenden format-string:Den parentheticals in den obigen Absätzen möglicherweise umständlich zu Parsen (ich habe die Angewohnheit, das zu tun; sorry).