我正在本地机器和远程服务器上通过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使用默认区域性设置