DateTime-Format in SQL-Format mit C#

Ich versuche, das aktuelle Datum Zeitformat von C# zu speichern und konvertieren Sie es in ein SQL Server-Datumsformat wie so yyyy-MM-dd HH:mm:ss, so kann ich es für meine UPDATE-Abfrage verwenden.

Dies war mein erster Code:

DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");

Die Ausgabe des Datums ist in Ordnung, aber die Zeit ist immer "12:00:00", also änderte ich meinen Code in den folgenden:

string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + 
myDateTime.TimeOfDay.ToString("HH:mm:ss");

Es gab mir diesen Kompilierfehler:

FormatException wurde nicht behandelt

Und schlug vor, ich müsse parsen. Also habe ich versucht, dies zu tun, um meinen Code als pro meine Forschung hier in StackOverflow:

string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + 
myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss");

oder

string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + 
myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss");

Aber es sagt mir, dass es eine Methode ist, die für den gegebenen Kontext nicht gültig ist. Ich habe versucht, nach Lösungen für mein Problem zu suchen, und ich stecke jetzt schon seit zwei Stunden fest. Ich bin noch ein bisschen neu in C#, können Sie mir bitte helfen?

Lösung

Versuchen Sie dies unten

DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
Kommentare (4)

Ihr erster Code funktioniert folgendermaßen

DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss"); //Remove myDateTime.Date part 
Kommentare (0)

Ihr Problem liegt in der Eigenschaft "Date", die DateTime nur auf das Datum abschneidet. Sie könnten die Konvertierung wie folgt vornehmen:


DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss"); // 
Kommentare (0)