将DateTimeOffset值从SQL 2008获取到C#

Dar*_*Lom 6 c# sql datetimeoffset sql-server-2008

我有一个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());  
Run Code Online (Sandbox Code Playgroud)

将RecDate列中的值放入dto变量的正确方法是什么?

And*_*mar 10

也许演员要ToString()删除微秒信息.

根据MSDN,SQL Server数据类型datetimeoffset与C#匹配DateTimeOffset.因此,将datetimeoffset列投射到应该是安全的DateTimeOffset.

例如:

DateTimeOffset dto = (DateTimeOffset) Rows[0][0];
Run Code Online (Sandbox Code Playgroud)