Wie konvertiert man eine Zeichenkette wie 2009-05-08 14:40:52,531
in eine DateTime
?
Hierfür gibt es grundsätzlich zwei Möglichkeiten. DateTime.Parse()
und DateTime.ParseExact()
.
Die erste Option ist in Bezug auf die Syntax sehr nachsichtig und kann Datumsangaben in vielen verschiedenen Formaten parsen. Sie ist gut geeignet für Benutzereingaben, die in verschiedenen Formaten vorliegen können.
Mit ParseExact können Sie das genaue Format Ihrer Datumszeichenfolge angeben, das für die Analyse verwendet werden soll. Dies ist sinnvoll, wenn Ihre Zeichenkette immer dasselbe Format hat. Auf diese Weise können Sie Abweichungen von den erwarteten Daten leicht erkennen.
Sie können Benutzereingaben wie folgt analysieren:
DateTime enteredDate = DateTime.Parse(enteredString);
Wenn Sie ein bestimmtes Format für die Zeichenfolge haben, sollten Sie die andere Methode verwenden:
DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);
"d"steht für das kurze Datumsmuster (siehe [MSDN für weitere Informationen][1]) und
null` gibt an, dass die aktuelle Kultur für das Parsen der Zeichenkette verwendet werden soll.
Versuchen Sie dies
DateTime myDate = DateTime.Parse(dateString);
Ein besserer Weg wäre der folgende:
DateTime myDate;
if (!DateTime.TryParse(dateString, out myDate))
{
// handle parse failure
}