Conversion du format DateTime au format SQL en C#
Formatage d'une variable DateTime C# pour qu'elle corresponde au format de date attendu de SQL Server ("aaaa-MM -dd HH:mm:ss") peut être difficile. Voici une explication détaillée de votre code et une solution de travail :
Code original :
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
Le problème avec ce code est que myDateTime.Date ne contient que la date partie, tandis que myDateTime inclut également l'heure. Pour obtenir une chaîne avec à la fois la date et l'heure dans le format souhaité, vous devez utiliser directement myDateTime.
Code révisé avec des chaînes concaténées :
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.TimeOfDay.ToString("HH:mm:ss");
Ceci Le code divise l'objet DateTime en ses composants de date et d'heure et les concatène en une chaîne. Cependant, cette version échouera avec une erreur de compilation car myDateTime.TimeOfDay est de type TimeSpan et n'a pas de méthode ToString qui prend une chaîne de format.
Pour résoudre ce problème, vous pouvez utiliser ToString() méthode de DateTime directement au lieu de diviser les composants de date et d'heure :
Correct Solution :
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
La chaîne de format ToString("aaaa-MM-jj HH:mm:ss.fff") spécifie le format de date SQL Server souhaité, y compris la précision en millisecondes. Ce code devrait produire la chaîne correctement formatée sans aucune erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!