2010-04-19 74 views
6

我有一个名为RecDate类型为DateTimeOffset的字段的SQL 2008表。从SQL 2008中获取DateTimeOffset值到C#

对于一个给定的记录值是 '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变量的值?

回答

9

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

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

例如:

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

吉兹...这是尴尬!你完全正确。谢谢。 – DarLom 2010-04-19 17:11:30