windows Service 2012 系统时间格式带中文

  C# 获取DataTime.Now   显示     2019年4月23日 下午 10:03:00

导致转换格式失败,

因为 源码中写的是   DataTime.Now.ToString();   输出 2019-4-23 下午 10:04:07

 导致转换成  DataTime 类型的时候就报错了。 

解决方案:

1.修改源代码。 DataTime.Now.ToString(“yyyy-MM-dd HH:mm:ss”)  

由于大部分代码都是通过反射改的,会导致工作量增加。所以采用第二种方法。

 

2.修改系统的注册表

这是我本机的注册表,是没问题的

 

 

但是线上的注册表是 台湾的 服务器,导致获取时间带 中文,所以我照着本地的配置修改成了这样,下图是台湾服务器的注册表

 

我修改了几个值,以下这些是默认值,修改成如上图所示的值  则就成功 了。

sTimeFormat:tt hh:mm:ss

sShortTime:tt hh:mm

sCountry:台湾

sLanguage:CHT

 

 

原始数据:

iTimePrefix:1
iNegCurr:1
iFirstDayOfWeek:6
iCountry:886

 

注:改了以上时间会导致C# 写入Cookie 的时候带上过期时间写入不进去的问题,目前只发现google浏览器会出现这种问题,其他浏览器可以获取。

改成如下格式则问题修复:

 

打开注册表快捷键,  windows+R     在运行中输入  regedit  回车

 

以上如果不行,要配置修改系统时间格式,结合一起使用。

 

posted @ 2019-04-23 10:13  颖子的踏坑路线  阅读(642)  评论(2编辑  收藏  举报