Hallo!
Ich möchte den Datumstring "30.12.2010 00:00:00" mit folgendem Code in ein DateTime-Object umzuwandeln. Laut Debugger sind folgende Werte während der Laufzeit existent:
kaufdatum "30.12.2010 00:00:00" string
dateformat "dd.MM.YYYY hh:mm:ss" string
string kaufdatum = row.Cells["Kaufdatum"].Value.ToString();
string dateformat = "dd.MM.YYYY hh:mm:ss";
try
{
DateTime dt = DateTime.ParseExact(kaufdatum, dateformat, CultureInfo.InvariantCulture);
//matkaufDatDTP.Value = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Doch leider kommt es zu einer Exception "Die Zeichenfolge wurde nicht als gültiges DateTime erkannt.
Was mach ich falsch?
VG niesel
Hier findest Du eine ganz gute Übersicht.
Ich würde mal auf den Jahr-Teil tippen, der ist groß statt klein geschrieben.
PS:
DateTime.Parse und DateTime.TryParse sind flexibler, die versuchen nicht das exakte Format durchzudrücken, sie parsen den String irgendwie, wenn möglich.
NuGet Packages im Code auslesen
lock Alternative für async/await
Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.