在C#中使用毫秒转换DateTime格式

时间:2013-06-25 10:52:05

标签: c#

这是我希望“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;

2 个答案:

答案 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完成所有转换。