我试图从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");
你的问题是在"Date"属性中,它将DateTime
截断为日期。
你可以这样进行转换。
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss"); // <- No Date.ToString()!