首页 >数据库 >mysql教程 >如何正确地将 C# DateTime 转换为 SQL Server'yyyy-MM-dd HH:mm:ss”格式?

如何正确地将 C# DateTime 转换为 SQL Server'yyyy-MM-dd HH:mm:ss”格式?

Patricia Arquette
Patricia Arquette原创
2024-12-31 03:16:13608浏览

How to Correctly Convert a C# DateTime to a SQL Server

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn