Frage von xxlberlin, 58

Textbox.Text in Datum umwandeln?

Hallo, ich muss die Differenz eines in eine Textbox eingegebenen Wertes zu einem vorgegebenen Datum errechnen und entsprechend auswerten. Das geht hervorragend mit DateAndTime, DateAdd und DateDiff. Nun liegt mir der wert aus der TextBox folgendermaßen vor: "160401" anstatt "01.04.16". Wie kann ich diesen term nach dd.MM.yy umwandeln, damit ich damit rechnen kann? Vielen Dank an alle, die es wissen und mir sagen wollen :-)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von CrystalixXx, 53

Am einfachsten mit der Date.ParseExact-Methode:

Dim d As Date = Date.ParseExact(TextBox1.Text, "yyMMdd", Globalization.CultureInfo.CurrentCulture)

Da kannst du das Format angeben und dein Text wird entsprechend geparsed. Die von dir genannten Methoden solltest du vergessen, das sind Überbleibsel aus VB6 und bringen dir in .NET keine Vorteile. Das Date-Objekt bietet, wie du siehst, deutlich bessere Möglichkeiten dafür.

Kommentar von Bador ,

Wahrscheinlich schon zu spät aber als kleinen Zusatz bitte nicht direkt DateTime.ParseExact sondern besser DateTime.TryParseExact. Besonders bei einem Textfeld.

(Beispiel gibt's auf MSDN)

Antwort
von EightSix, 48

Mittels regulären Ausdrücken oder Substring die einzelnen Stellen auslesen und geordnet im String anordnen wär am einfachsten.

Kommentar von CrystalixXx ,

Das wäre eher am umständlichsten. .NET bietet für Date eine ParseExact-Methode, bei der das Format angegeben werden kann.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten