Получение значения DateTimeOffset из SQL 2008 в C # - PullRequest
6 голосов
/ 19 апреля 2010

У меня есть таблица SQL 2008 с полем с именем RecDate типа DateTimeOffset.

Для данной записи значение равно '2010-04-01 17: 19: 23.62 -05: 00'

В C # я создаю DataTable и заполняю его результатами «SELECT RecDate FROM MyTable».

Мне нужно получить миллисекунды, но если я сделаю следующее, миллисекунды всегда равны 0:

DateTimeOffset dto = DateTimeOffset.Parse(dt.Rows[0][0].ToString());  

Как правильно получить значение в столбце RecDate в переменную dto?

1 Ответ

10 голосов
/ 19 апреля 2010

Возможно приведение к ToString() удаляет микросекундную информацию.

Согласно MSDN , тип данных SQL Server datetimeoffset соответствует C # DateTimeOffset. Так что можно безопасно привести столбец datetimeoffset к DateTimeOffset.

Например:

DateTimeOffset dto = (DateTimeOffset) Rows[0][0];
...