2015-03-03 75 views
0

我已经创建了一个使用VS2013的简单网站,并向AppUser模型添加了一个DateTime字段。Azure SQL数据库日期时间问题

当使用28/08/2013在本地测试站点时,该站点工作正常。

当我部署到Azure时,出现错误“字符串未被识别为有效的DateTime”。将日期更改为08/28/2013,该网站在Azure上正常工作,但不在本地。

任何人都可以协助解决这个问题吗?

非常感谢您抽出时间来看看

+0

这不是SQL Server问题。你在混合美国和欧洲的日期。只是不要使用本地化的日期格式,请使用[unseparated](https://msdn.microsoft.com/en-us/library/ms180878(v = sql.105).aspx#UnseparatedStringFormat)格式(20130828)日期或日期+时间值的[ISO 8601](https://msdn.microsoft.com/en-us/library/ms180878(v = sql.105).aspx#ISO8601Format)格式。 – 2015-03-03 11:28:20

+0

同时避免不惜一切代价使用原始字符串语句。使用参数化查询来传递强类型参数并避免所有转换问题。参数化查询的速度也快很多,就像写字符串一样容易 – 2015-03-03 11:32:37

+0

感谢您的回复。 – tuppers 2015-03-03 12:33:23

回答

0

后好了一些搜索和多小时的折腾,我发现我应该使用DATETIMEOFFSET来处理我的日期。我首先发现,利用Identity Pwd实现的例子,我没有任何问题创建和更新记录作为日期。这个例子可以发现Implementing custom password policy using ASP.NET Identity

我也发现这个答案使用DATETIMEOFFSET: Datetime vs DateTimeOffset

感谢您抽出时间来看看我的问题,希望这可以帮助别人。