.Net CurrentCulture ShortDateFormat不会根据PC区域设置进行更新

时间:2016-12-23 15:30:14

标签: c# .net cultureinfo regional-settings

我正在配置新服务器,并且在解析日期时遇到问题,其中以下代码在旧服务器上完美运行,但在新服务器上运行不正确。

IFormatProvider fpCanada = System.Globalization.CultureInfo.CreateSpecificCulture("en-CA");
Convert.ToDateTime(strStartDate, this.fpCanada); //en-CA
  

错误:System.FormatException:String未被识别为有效的DateTime。

我不想修改代码以使用TryParseExact或注册表,因此我的结论是修改PC的区域设置以匹配旧服务器的设置。< / p>

旧服务器
目前的格式:英语(加拿大)
短日期:dd / MM / yyyy

新服务器
目前的格式:英语(加拿大)
短日期:yyyy-MM-DD

将PC的区域设置的日期格式更新为dd / MM / yyyy后,我尝试重置应用池,但似乎没有做任何事情。

// Still returns yyyy-MM-dd
System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern 

我认为PC的区域设置与.Net中的ShortDatePattern直接相关是错误的吗?

1 个答案:

答案 0 :(得分:0)

PC Regional and Language Settings are being ignored in .Net

  

我怀疑您是在没有自己的个人资料的情况下以身份运行应用程序,而是使用存储在“HKEY_USERS.Default \ Control Panel \ International”下的注册表中的默认区域设置。