这是我希望“2013-06-25 18:46:54.687”传递给sql server的日期时间格式。 如何用C#转换?
DateTime LastUpdateTime=Convert.toDateTime(LastUpdateTime);
//2013-06-25 18:46:54.687 with 3 index of millisecond
sc.Parameters.Add("@LastUpdateTime", SqlDbType.DateTime).Value = LastUpdateTime;
答案 0 :(得分:2)
您在SQL中使用了错误的Data Typ。
datetime2 可以视为现有日期时间类型的扩展,该类型具有较大的默认小数精度和可选的用户指定精度。
C#格式毫秒完全按照你想要的方式。 在一个例子中:
DateTime date2 = new DateTime(2008, 1, 1, 0, 30, 45, 125);
Console.WriteLine("Date: {0:o}",
date2);
// Displays the following output to the console:
// Date: 2008-01-01T00:30:45.1250000
查看Why is SQL Server losing a millisecond?和DateTime2 vs DateTime in SQL Server
这些很棒的问题与良好的答案,BTW。
答案 1 :(得分:0)
如果您的数据库查询参数是字符串,请使用以下格式:
LastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss.fff")
否则,最好将datetime作为原始对象发送, 并让sql server完成所有转换。