使用C#将日期时间格式转换成SQL格式

我试图从C#中保存当前的日期时间格式,并将其转换为SQL Server的日期格式,如yyyy-MM-dd HH:mm:ss,这样我就可以在UPDATE查询中使用它。

这是我的第一个代码。

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

日期的输出没有问题,但时间总是"12:00:00",所以我把代码改为如下。

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

它给了我这个编译错误。

FormatException was unhandled

并建议我需要进行解析。于是我按照我在StackOverflow上的研究,试着对我的代码做了这个处理。

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

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

但它告诉我这是一种对特定环境无效的方法。我试着寻找解决问题的方法,但我已经被困了两个小时了。我对C#还有点陌生,你能帮帮我吗?

解决办法

试试下面这个

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

你的第一个代码将通过以下方式工作

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

你的问题是在"Date"属性中,它将DateTime截断为日期。 你可以这样进行转换。


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