Konvertieren des DateTime-Formats in das SQL-Format in C#
Formatieren einer C#-DateTime-Variablen, damit sie dem erwarteten SQL Server-Datumsformat entspricht („JJJJ-MM -dd HH:mm:ss") kann eine Herausforderung sein. Hier ist eine detaillierte Erklärung Ihres Codes und eine funktionierende Lösung:
Originalcode:
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
Das Problem mit diesem Code ist, dass myDateTime.Date nur das Datum enthält Teil, während myDateTime auch die Zeit enthält. Um eine Zeichenfolge mit Datum und Uhrzeit im gewünschten Format zu erhalten, müssen Sie myDateTime direkt verwenden.
Überarbeiteter Code mit verketteten Zeichenfolgen:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.TimeOfDay.ToString("HH:mm:ss");
Dies Der Code teilt das DateTime-Objekt in seine Datums- und Uhrzeitkomponenten auf und verkettet sie zu einer Zeichenfolge. Diese Version schlägt jedoch mit einem Fehler bei der Kompilierung fehl, da myDateTime.TimeOfDay vom Typ TimeSpan ist und keine ToString-Methode hat, die eine Formatzeichenfolge akzeptiert.
Um dies zu beheben, können Sie ToString() verwenden. Methode von DateTime direkt, anstatt die Datums- und Zeitkomponenten aufzuteilen:
Richtig Lösung:
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
Die Formatzeichenfolge ToString("yyyy-MM-dd HH:mm:ss.fff") gibt das gewünschte SQL Server-Datumsformat an, einschließlich Millisekundengenauigkeit. Dieser Code sollte die korrekt formatierte Zeichenfolge ohne Fehler erzeugen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man eine C#-DateTime korrekt in ein SQL Server-Format „yyyy-MM-dd HH:mm:ss'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!