Das gewünschte Format
string format = "dd/M/yyyy";
ist Ich verstehe nicht, eine Sache, warum teilen Sie eine Kette die Schnur, da Sie die gleiche Sache erhalten würden?
Wenn die Eingabe 2012.12.04, nach der Spaltung von ‚/‘, werden Sie 12, 4, 2012 erhalten und sie dann wieder verketten „2012.12.04“ zu erhalten. Warum das?
Auch, wenn Sie wirklich, dass Split benötigen, können Sie speichern in in ein Array, so dass Sie es 3 mal nicht spalten müssen:
var splits = lbl_TransDate.Text.Split('/');
DateTime.ParseExact(splits[0] + "/" + splits[1] + "/" + splits[2], ...);
Wenn Sie die Eingabe nicht vertrauen, die Splits Array möglicherweise nicht von Dauer sein = 3 und mehr davon, können Sie DateTime.TryParseExact
EDIT Sie die Überlastung mit mehreren Formaten verwenden können Also, wenn der Eingang sein könnte 2012.12.04 oder 12/04/2012, können Sie beide Formate
var formats = new[] {"dd/M/yyyy","dd/MM/yyyy"};
var date = DateTime.ParseExact("12/4/2012", formats,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.AssumeLocal);
aus Klar Neugier, warum nicht nur ' DateTime.ParseExact (lbl_TransDate.Text, Format, CultureInfo.InvariantCulture) '? – Vlad
:) es ist nicht mein Code, nur ich diesen Teil testen –
Haben Sie es mit diesem Code überprüfen? DateTime dt; string Temp1 = "Ihr Datum"; if (DateTime.TryParse (Temp1, out dt)) { // Wenn es ein gültiges Datum ist string date = dt.ToShortDateString(); Zeichenfolge Zeit = dt.ToShortTimeString(); } ' – Pankaj