如何将.NET DateTimeOffset 转换为 Sql2008 DateTimeOffset?

6

我不确定如何正确地将一个 .NET 的 DateTimeOffset 变量格式化为字符串,以便于 SqlServer 2008 正确解析该值。

目前,如果我提供默认的 .ToString() 值从普通的 DateTimeOffset 值,那么会出现错误。

这是一个样本 .ToString() 值,会导致错误(例如 Sql2008 不喜欢它):'25/12/2008 2:12:21 PM +00:00'

更新

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

答案

我已经自己回答了。我找到了正确的 IFormattableProvider 参数。

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

2个回答

0
根据 BOL,这些类型是兼容的。
您收到了什么错误?您在连接字符串中指定了 Type System Version 为 2008 吗?

在您的连接字符串中将类型系统版本设置为2008。嗯...不对。那是什么?这是我的连接字符串:数据源=fukchop;初始目录=Osm;集成安全性=SSPI; - Pure.Krome

-1

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


1
是的,JaredPar - 这正是我在这个问题中所问的 -> 我不确定那会是什么。我会更新原始帖子。 - Pure.Krome

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接