JavaScript 以毫秒为单位的 Sql DateTime 日期时间戳
JavaScript datetime stamp to SqlDateTime with milliseconds
我以 1/1000 毫秒的保真度记录了 JS 日期时间戳。
(使用 SQL 我知道精度是 1/300)
我一直在使用 .NET System.DateTime struct
并且我 没有 看到毫秒被存储在 SQL.
...
[ResponseTimeStamp] DATETIME NOT NULL,
...
使用 c#
//TimeCompleted is epoc
DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
qr.ResponseTimeStamp = dtDateTime.AddMilliseconds(item.Responses.TimeCompleted);
我现在正在尝试将 System.Data.SqlTypes.SqlDateTime
与
一起使用
SqlDateTime dtDateTime = new SqlDateTime(1970, 1, 1, 0, 0, 0, 0);
qr.ResponseTimeStamp = SqlDateTime.Add(dtDateTime, item.Responses.TimeCompleted);
问题是该方法抛出异常:
"message": "The best overloaded method match for
'System.Data.SqlTypes.SqlDateTime.Add(System.Data.SqlTypes.SqlDateTime,
System.TimeSpan)'
我已经尝试从 epoc
转换为 TimeSpan
,但是签名需要我创建的 TimeSpan 但仍然会引发异常。
TimeSpan newSpan = new TimeSpan(0, 0, 0, 0, item.Responses.TimeCompleted);
The best overloaded method match for
'System.Data.SqlTypes.SqlDateTime.Add(System.Data.SqlTypes.SqlDateTime,
System.TimeSpan)' has some invalid arguments
如果您需要将时间存储到毫秒,那么您应该为您的数据使用 datetime2 or a datetimeoffset。
这两种类型都允许精确到毫秒,不像 DateTime 的分辨率只有 3 毫秒。
我以 1/1000 毫秒的保真度记录了 JS 日期时间戳。 (使用 SQL 我知道精度是 1/300)
我一直在使用 .NET System.DateTime struct
并且我 没有 看到毫秒被存储在 SQL.
...
[ResponseTimeStamp] DATETIME NOT NULL,
...
使用 c#
//TimeCompleted is epoc
DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
qr.ResponseTimeStamp = dtDateTime.AddMilliseconds(item.Responses.TimeCompleted);
我现在正在尝试将 System.Data.SqlTypes.SqlDateTime
与
SqlDateTime dtDateTime = new SqlDateTime(1970, 1, 1, 0, 0, 0, 0);
qr.ResponseTimeStamp = SqlDateTime.Add(dtDateTime, item.Responses.TimeCompleted);
问题是该方法抛出异常:
"message": "The best overloaded method match for 'System.Data.SqlTypes.SqlDateTime.Add(System.Data.SqlTypes.SqlDateTime, System.TimeSpan)'
我已经尝试从 epoc
转换为 TimeSpan
,但是签名需要我创建的 TimeSpan 但仍然会引发异常。
TimeSpan newSpan = new TimeSpan(0, 0, 0, 0, item.Responses.TimeCompleted);
The best overloaded method match for 'System.Data.SqlTypes.SqlDateTime.Add(System.Data.SqlTypes.SqlDateTime, System.TimeSpan)' has some invalid arguments
如果您需要将时间存储到毫秒,那么您应该为您的数据使用 datetime2 or a datetimeoffset。
这两种类型都允许精确到毫秒,不像 DateTime 的分辨率只有 3 毫秒。