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

C# CultureInfo根据计算机设置进行更改,c#,.net,asp.net-mvc,datetime,asp.net-core,C#,.net,Asp.net Mvc,Datetime,Asp.net Core,我正在本地计算机和远程服务器上通过IIS运行.NET 5 MVC Web应用程序 我注意到一个奇怪的错误,计算机的本地设置似乎会影响CultureInfo类的结果 在Windows 10中,如果我打开设置>时间和语言>区域,然后单击更改数据格式,使我的短时间为24小时,即13:40 vs 1:40 PM,则文化信息的结果也将更改。我一直认为更改计算机设置不应影响内置于区域性中的.NET,并且无论代码在哪台计算机上运行,它们都应相同,因此: CultureInfo.CreateSpecificCu

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

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

在Windows 10中,如果我打开
设置>时间和语言>区域
,然后单击
更改数据格式
,使我的短时间为24小时,即13:40 vs 1:40 PM,则
文化信息
的结果也将更改。我一直认为更改计算机设置不应影响内置于区域性中的.NET,并且无论代码在哪台计算机上运行,它们都应相同,因此:

CultureInfo.CreateSpecificCulture("en-US");
应该返回相同的
CultureInfo
对象,无论代码在哪台计算机上运行,或者用户决定使用哪种日期和时间设置

起初我想知道我是否使用了
CultureInfo
类错误,因此我也尝试:

new CultureInfo("en-US");
但结果是一样的

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

var culture = new CultureInfo("en-US", false);
(useUserOverride)的第二个参数正好意味着

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