MS SQL ASP.NET日期以“错误的”文化格式显示

时间:2018-03-06 15:38:30

标签: c# asp.net sql-server

我在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的任何差异。

我应该考虑哪些想法来确定一个服务器为什么用荷兰语显示日期而另一个用英语显示?

谢谢!

1 个答案:

答案 0 :(得分:0)

感谢Mark Benningfield已经解决了......

我需要将InvariantCulture添加到我的C#

using System.Globalization;
...
Convert.ToDateTime(mySQLTable.Rows[0]["datecompleted"]).ToString("MMMM d, yyyy", CultureInfo.InvariantCulture);

现在我的日期显示正确!