У меня есть метка даты JS, записанная с полной миллисекундной точностью 1/1000. (с использованием SQL Я понимаю, точность 1/300)JavaScript datetime штамп для SqlDateTime с миллисекундами
Я использую .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);
вопрос в том, что метод бросает исключение:
"сообщение" : «Наилучшее перегруженное соответствие метода для '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);
Лучший перегружен матч метод 'System.Data.SqlTypes.SqlDateTime.Add (System.Data.SqlTypes.SqlDateTime, System.TimeSpan)' имеет некоторые недопустимые аргументы
Если вы используете SQL Server ** 2008 ** или новее, вместо этого используйте 'DATETIME2 (n)' - это имеет точность до 100ns (если необходимо) - так что она будет обрабатывать миллисекунды просто отлично –