我不确定如何正确地将一个 .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")