CultureInfo根据计算机设置进行更改



我正在本地机器和远程服务器上通过IIS运行.NET 5 MVC Web应用程序。

我注意到一个奇怪的错误,计算机的本地设置似乎会影响CultureInfo类的结果

在Windows 10中,如果我打开Settings > Time & Language > Region,然后单击Change data formats,使我的短时间为24小时,即13:40与下午1:40,则CultureInfo的结果也将更改。我一直认为,更改我的计算机设置不应该影响文化中内置的.NET,并且无论代码在哪台计算机上运行,它们都应该是相同的,所以:

CultureInfo.CreateSpecificCulture("en-US");

应该返回相同的CCD_ 5对象,无论代码在哪台计算机上运行;用户决定使用的时间设置。

起初我想知道我是否使用错了CultureInfo类,所以我也尝试了:

new CultureInfo("en-US");

但结果是一样的。

有没有办法告诉CultureInfo类使用区域性的默认值,而不是使用我当前计算机上的设置?

var culture = new CultureInfo("en-US", false);

构造函数的第二个参数(useUserOverride(正是这个意思。

  • true使用系统设置
  • false使用默认区域性设置

最新更新