当我将 datetimeoffset.datetime 传递给 SQL Server 存储过程时,结果得到错误的月份和日期。
例如,当我通过 2012 年 11 月 12 日时,结果变为 2012 年 11 月 12 日。因此,12 月 11 日改为 11 月 12 日。
我能做些什么来找到问题吗?
当我将 datetimeoffset.datetime 传递给 SQL Server 存储过程时,结果得到错误的月份和日期。
例如,当我通过 2012 年 11 月 12 日时,结果变为 2012 年 11 月 12 日。因此,12 月 11 日改为 11 月 12 日。
我能做些什么来找到问题吗?
简而言之:这可能是因为您需要检查 C# 代码和 SQL Server 的文化设置。在欧洲和美国,日期格式完全不同。
例如:我们默认的日期格式是“mm/dd/yyyy”,而欧盟是“dd/mm/yyyy”
这是一篇直接在 C# 中解决这种文化设置的帖子 -如何根据文化信息获取日期和时间格式?
好的,在您的存储过程中,您必须使用强制转换或隐蔽来格式化它阅读此链接关于强制转换日期时间类型和格式 http://msdn.microsoft.com/en-us/library/aa226054%28SQL.80%29.aspx