介绍
我们在处理时间的时候,有时候会有8小时只差,C#的解决办法就是jvm的时间.ToLocalTime()一下就好了,我们这边来简单的介绍一下为什么会差8小时。
时区概念
首先了解一下 GMT是世界标准世界,我们中国使用的是CST +8的时区。如果数据库存储是GMT那么在亚洲等国家就会有8个小时的时差。我们在看jvm的时候就会发现他存储的就是GMT时间
下面是代码
System.out.println(TimeZone.getDefault());
解决办法
如果出现时区问题,首先要把服务器的时区给弄好,这是基础,因为数据库和iis都会以他作为基准,当然使用标准时间的应用,改服务器的时区是没用的。第二个看的地方我们存储的时间是不是GMT标准时间,如果不是标准时间,那么看一下是不是已经做过转换成本地时间的操作了。如果是标准时间那么.ToLocalTime()就可以转换成本地时间了。
补习ToLocalTime的动作
取得当前系统日期和时间,格式根据本机设定的地区和语言来定,简单的说就是转换成本地时间。