在 C# 中将 DateTime 格式转换为 SQL 格式
格式化 C# DateTime 变量以匹配预期的 SQL Server 日期格式(“yyyy-MM”) -dd HH:mm:ss") 可能具有挑战性。以下是您的代码和有效解决方案的详细说明:
原始代码:
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
此代码的问题是 myDateTime.Date 仅包含日期部分,而 myDateTime 还包括时间。要获取具有所需格式的日期和时间的字符串,您需要直接使用 myDateTime。
修改后的连接字符串代码:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.TimeOfDay.ToString("HH:mm:ss");
这个代码将 DateTime 对象拆分为其日期和时间部分,并将它们连接成一个字符串。但是,此版本将失败并出现编译时错误,因为 myDateTime.TimeOfDay 的类型为 TimeSpan,并且没有采用格式字符串的 ToString 方法。
要解决此问题,您可以使用 ToString()直接使用 DateTime 方法,而不是分割日期和时间组件:
正确解决方案:
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
ToString("yyyy-MM-dd HH:mm:ss.fff") 格式字符串指定所需的 SQL Server 日期格式,包括毫秒精度。此代码应该生成格式正确的字符串,没有任何错误。
以上是如何正确地将 C# DateTime 转换为 SQL Server'yyyy-MM-dd HH:mm:ss”格式?的详细内容。更多信息请关注PHP中文网其他相关文章!