如何将.NET DateTimeOffset转换为Sql2008 DateTimeOffset

时间:2008-12-25 14:31:12

标签: .net sql-server-2008 datetimeoffset

我不确定如何正确格式化.NET DateTimeOffset变量,作为字符串,以便SqlServer 2008更正解析值。

目前,如果我从正常的DateTimeOffset值提供默认的.ToString()值,则会出错。

以下是错误的示例.ToString()值(例如,Sql2008不喜欢它):'25/12/2008 2:12:21 PM +00:00'

更新

为了澄清,我知道.ToString()不是兼容的Sql2008格式。我希望有人能够告诉我我需要提供什么IFormattableProvider参数(对于.ToString()方法),这对于新的DateTimeOffset SqlDataType是合法的。

答案

我自己也回答了。我想出了正确的IFormattableProvider args

myDateTimeOffest.ToString("yyyy-MM-dd HH:mm:ss.ffffff zzz")

2 个答案:

答案 0 :(得分:0)

根据BOL,这些类型是兼容的。

你收到什么错误?您是否在连接字符串中将Type System Version指定为2008?

答案 1 :(得分:-1)

DateToOffset.ToString支持传入格式字符串来控制输出。尝试传入与SQL 2008兼容的格式字符串