我在美国服务器上用MS SQL ASP.NET 开发了一个应用程序。 将应用程序部署到欧洲某处的服务器后,日期将以荷兰语格式显示。
美国应用展示: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");
字段"日期完成"(日期时间)中的数据在两台服务器上是相同的。
我比较了两个应用程序的HTML源代码(查看源代码),它们是相同的。
我也看不出 IIS 有任何区别。
有什么想法,我应该在哪里确定为什么一台服务器以荷兰语显示日期而另一台服务器以英语显示日期?
谢谢!
感谢马克·本宁菲尔德,这个问题已经解决了......
我需要向 C# 添加InvariantCulture
using System.Globalization;
...
Convert.ToDateTime(mySQLTable.Rows[0]["datecompleted"]).ToString("MMMM d, yyyy", CultureInfo.InvariantCulture);
现在我的日期显示正常!