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



我正在配置新服务器,并且正在遇到分析日期的问题,其中以下代码在旧服务器上效果完美,但在新服务器上却不起作用。

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

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

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

旧服务器
当前格式:英语(加拿大)
短日期: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有直接相关性?

PC区域和语言设置在.net

中被忽略

我怀疑您正在使用其个人配置文件的身份运行该应用程序,并且它正在使用'hkey_users.default control International下的注册表中存储的默认区域设置。

相关内容

  • 没有找到相关文章

最新更新