我在ASP.NET上使用MS SQL在美国的服务器上开发了一个应用程序。将应用程序部署到欧洲某处的服务器后,日期将以荷兰语格式显示。
美国申请显示:2018年3月6日 欧洲应用程序显示:maart 6,2018
美国Sql Server是2012年,欧洲SQL Server是2014年。
我已经比较了SQL Server设置,我只能找到一个区别......
美国SQL Server排序规则= SQL_Latin1_General_CP1251_CI_AS 欧洲SQL Server排序规则= SQL_Latin1_General_CP1_CI_AS
我不相信整理是问题因为我改变了我的美国服务器以匹配欧洲整理,并且日期格式没有变化。
在C#中我显示这样的日期......
Convert.ToDateTime(mySQLTable.Rows[0]["datecompleted"]).ToString("MMMM d, yyyy");
两个服务器上的“datecompleted”字段(DateTime)中的数据相同。 我比较了两个应用程序(查看源代码)的HTML源代码,它们是相同的。 我也看不出IIS的任何差异。
有什么想法,我应该看看为什么一台服务器用荷兰语和另一台用英语显示日期?
谢谢!
感谢Mark Benningfield已经解决了......
我需要将InvariantCulture
添加到我的C#中
using System.Globalization;
...
Convert.ToDateTime(mySQLTable.Rows[0]["datecompleted"]).ToString("MMMM d, yyyy", CultureInfo.InvariantCulture);
现在我的日期正确显示!