C# web IIS服务器 DateTime 带中文解决

C# Web应用在某些电脑IIS上部署运行,读取当前时间带有中文,比如2018-5-1 星期一 上午 12:00:00,虽然使用Format转换可以解决,但代码量较大难免遗漏,会引发问题,为了解决该问题在服务器上尝试使用如下办法:
(1)重置区域时间格式,不起作用

(2)在Regedit里如下设置,搜索所有的sDate,后面带dddd的去掉,tt 的去掉tt,

注意:tt不去掉的话会有上午,下午;通过该方法可行,但会有同一个机器上一个程序池可以,另一个程序池不行的情况。

 (3)使用如下代码,可行,一个一个页面设置,或者放到protected void Application_BeginRequest(Object sender, EventArgs e)也可以,不过感觉还是有点不安全。

System.Globalization.CultureInfo myCI = new System.Globalization.CultureInfo("zh-CN", true);
myCI.DateTimeFormat.LongDatePattern = "yyyy-MM-dd";
myCI.DateTimeFormat.LongTimePattern = "HH:mm:ss";
myCI.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
myCI.DateTimeFormat.ShortTimePattern = "HH:mm:ss";
System.Threading.Thread.CurrentThread.CurrentCulture = myCI;

 (4)强制使用日期
 1、控制面板--区域和语言选项--把时间设置为24小时格式。 
 2、建立HKEY_LOCAL_MACHINESOFTWAREMicrosoftOLEAUTVarConversionLocaleSetting = 2 (DWORD) 
 3、重启IIS

但是在我电脑上依然不起作用

(5)终极大法,该方法彻底解决了问题
1、打开注册表,搜索所有的International
2、删除International目录,依次删除完毕
3、打开区域设置,重置,重启IIS,基本解决,但是依然会出现有的IIS 内存池还是中文问题。

原文地址:https://www.cnblogs.com/zhaogaojian/p/9113086.html