2016-05-18 5 views
0

In meinen FormCollection Daten habe ich zwei Felder, die ich in einem DateTime Feld kombiniert werden muss. Das Datum ist in SlectedStartDay im Format dd/MM/yyyy 12:00:00 AM enthalten (die Uhrzeit ändert niemals nur das Datum) und die Uhrzeit ist in StartTime im Format h:mm:ss tt enthalten. Ich muss die beiden in eine einzige DateTime Variable kombinieren, aber ich kann nicht herausfinden, wie es geht, da ich arbeite von einem FormCollection.Erstellen von DateTime aus zwei FormCollection-Datenstrings

Ich habe sowohl DateTime.Parse als auch Convert.ToDateTime ausprobiert, aber jeder gibt mir den Fehler "String wurde nicht als gültige DateTime erkannt". Was ist der richtige Weg für diese Konvertierung?

private string AddTimesheet(FormCollection postData) 
{ 
    var startDates = postData["SelectedStartDay"].Split(','); 
    var startDateTime = DateTime.Parse(startDates[0] + postData["StartTime"]); 
    return ""; 
} 
+0

paar billig und schmutzig Möglichkeiten, es zu tun lösen. Eine besteht darin, das String-Format des ersten Datums nur für das Datum zu erhalten, es mit der Zeit zu kombinieren und ein neues Datetime mit dieser Zeichenfolge zu erstellen. Sie können das zweite Mal auch zum ersten Datum hinzufügen und erhalten das gleiche Ergebnis. –

+0

@MarshallTigerus Nicht sicher, was Sie vorschlagen – Matthew

Antwort

1

Fügen Sie einfach einen Raum zwischen dem Startdatum und Starttime Wert als gültiges Datetime zu machen, denken Sie Ihr Problem

var startDates = postData["SelectedStartDay"].Split(',')[0].Split(' ') 
var startDateTime = DateTime.Parse(startDates[0]+" "+ postData["StartTime"]); 
+0

Dies gibt den gleichen Fehler. – Matthew

+0

@ Kirsh was? Wenn die Daten eintreffen, gibt es zwei verschiedene Daten, die durch ein Komma getrennt sind, also muss ich es teilen. – Matthew

+0

Sie müssen nur das Datum in Startdate haben, jetzt haben Sie beide Datum und Uhrzeit Teil, der die Exception verursacht. Versuchen Sie die Zeile so zu ändern, um die Ausnahme zu vermeiden var startDates = postData ["SelectedStartDay"]. Split (' , ') [0] .Split (' ') – krish

Verwandte Themen