我正在将 .NET 应用程序部署到另一台机器上。
在控制台应用程序中,值
DateTime.Today.ToLongDateString();
是
10 December 2009
而在 Web 应用程序中,值是
23 ذو الحجة 1430 < equivalent in higri calendar
Web 应用程序如何从中获取文化,为什么它与控制台应用程序不同?
在 web.config 或 machine.config 中,您可以通过global元素为 ASP.Net 应用程序指定默认区域性。
<configuration>
<system.web>
<globalization
culture="en-US"/>
</system.web>
</configuration>
它从机器中获取。请参阅此处如何更改它。
这可能是机器本身的文化——你说你正在部署到另一台机器。
你希望它属于哪种文化?
编辑:您的选择是:
老实说,最后一个是侵入性最小的。像 etc 这样的大多数方法String.Parse
都有一个IFormatProvider
参数重载。您可以将其指定为相关的CultureInfo
.
我得到了答案!它可能是 ASPNET 或 IIS 用户的注册表记录之一。通过使用 regedit,我发现其中一位用户国际 = 阿拉伯语
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
DateTime.Today.ToLongDateString();