String MyString= "10/19/2017 12:00:00 AM";
DateTime MyDateTime = new DateTime();
MyDateTime = DateTime.ParseExact(MyString, "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
Format wie unten geht
d - Numerischer Tag des Monats ohne führende Null.
dd - Numerischer Tag des Monats mit einer führenden Null.
ddd - Kurzwahl des Wochentags.
dddd - Vollständiger Name des Wochentags.
f, ff, fff, ffff, fffff, ffffff, fffffff - Bruchteil einer Sekunde. Je mehr Fs, desto höher die Präzision.
h - 12 Stunden, keine führende Null.
hh - 12-Stunden-Uhr mit führender Null.
H - 24 Stunden, keine führende Null.
HH - 24-Stunden-Uhr mit führender Null.
m - Minuten ohne führende Null. mm - Minuten mit führender Null.
M - Numerischer Monat ohne führende Null.
MM - Numerischer Monat mit einer führenden Null.
MMM - Name des Monats abgekürzt.
MMMM - Vollständiger Monatsname.
s - Sekunden ohne führende Null. ss - Sekunden mit führender Null.
t - AM/PM aber nur der erste Buchstabe. tt - AM/PM (AM/PM)
y - Jahr ohne Jahrhundert und führende Null.
yy - Jahr ohne Jahrhundert, mit führender Null.
yyyy - Jahr mit Jahrhundert.
zz - Zeitzone aus mit +/- eingestellt.
'DateTime.Parse (" 10/19/2017 12:00:00 AM ")' oder ParseExact – CodingYoshi
Mögliches Duplikat von [Zeichenfolge nach DateTime in C# parsen] (https://stackoverflow.com/questions/5366285/ parse-string-to-datetime-in-c-sharp) – Fabio