C# CultureInfo根据计算机设置进行更改
我正在本地计算机和远程服务器上通过IIS运行.NET 5 MVC Web应用程序 我注意到一个奇怪的错误,计算机的本地设置似乎会影响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
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使用默认区域性设置