我有一个SQL查询,它从ASP.NET中的日历中将日期输入数据库但是现在我已将其部署到Azure我得到此错误“字符串未被识别为有效的DateTime”这是代码我在C#中使用
string fromFormat = "dd/MM/yyyy";
string toFormat = "yyyy-MM-dd";
string date = diarycalender.SelectedDate.ToShortDateString();
DateTime newDate = DateTime.ParseExact(date, fromFormat, null);
string date2 = (newDate.ToString(toFormat));
DateTime date3 = DateTime.Parse(date2);
cmd.Parameters.AddWithValue("@date", date3);
任何人都可以解释为什么我现在在本地工作正常时会出现此错误但不再存在?
答案 0 :(得分:1)
默认情况下,Azure网站是使用美国语言环境创建的,根据此博客文章:
http://blogs.msdn.com/b/ericgolpe/archive/2010/12/29/windows-azure-date-time-and-locale.aspx
看起来您希望将英国语言环境用于您的日期时间,这就是本地运行正常的原因,但是当您将网站上传到Azure时则不行。
根据这篇博客http://yossidahan.wordpress.com/2012/02/17/locale-on-windows-azure/,有几种方法可以解决这个问题,最简单的方法应该是在web.config的system.web中加入以下内容:
<globalization culture="en-GB" uiCulture="en-GB" />