java(MyEclipse)相差8小时处理解决方法
来源:互联网 发布:淘宝儿童网双肩背包 编辑:程序博客网 时间:2024/06/05 09:07
最近有遇到java的时间不对的事件,现象:
通过java语句获得系统时间,用
Date d = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");
System.out.println(sdf.format(d));
或者:
Calendar now = Calendar.getInstance();
System.out.println(now.get(Calendar.HOUR_OF_DAY));
System.out.println(now.get(Calendar.MINUTE));
System.out.println(now.get(Calendar.SECOND));
取得的时间总是比系统时间少8个小时,获得的总是格林尼治时间(0时区的时间),检查系统时间确实是正确的,时区为GMT+8:00北京……等;但是此前并没有发生这类问题,以前时间是正确的,但是重装系统后出现了java的时间问题,可能是系统时间注册表出现问题,这里就不修改注册表了。这时MyEclipse或Java默认的时间时区是0时区,所以:
考虑到代码的可移植性,在用到时间的地方都初始化当前的时区;加上代码:
setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
修改如下:
Date d = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
System.out.println(sdf.format(d));
或者:
Calendar now = Calendar.getInstance();
now.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));//important
System.out.println(now.get(Calendar.HOUR_OF_DAY));
System.out.println(now.get(Calendar.MINUTE));
System.out.println(now.get(Calendar.SECOND));
这样就可以了。
===========================================================================================
针对这一问题之前说过在系统代码用到时间时可以在时间初始化前加上以下一句话,但是这样比较麻烦,因此,在安装Java的JDK之后,可以替换几个源文件以达到相同的目的。
setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
另一种方法:
找到Java目录下的
依次: jdk1.60/jre/lib/zi/Etc
jdk1.60/jre/lib/zi
java/jre1.6.0_14/jre/lib/zi/Etc
java/jre1.6.0_14/jre/lib/zi
下找到GMT文件,删除之(可以备份一下,以防万一),然后复制一份GMT-8并重命名为GMT替换原来的GMT。这样,就达到了掩人耳目的目的。试一下,可以解决!
- java(MyEclipse)相差8小时处理解决方法
- java(MyEclipse)相差8小时处理解决(方法二)之掩人耳目
- java new date 结果与操作系统时间相差8小时处理解决方法
- spring+mybatis返回json日期处理(日期全局处理相差8个小时解决方法)
- spring+mybatis返回json日期处理(日期全局处理相差8个小时解决方法)
- spring+mybatis返回json日期处理(日期全局处理相差8个小时解决方法)
- spring+mybatis返回json日期处理(日期全局处理相差8个小时解决方法)
- java时间相差8个小时的解决方法
- php时间相差8小时解决方法
- java 和系统时间相差8小时
- Java获取时间与系统时间相差8小时的解决方法
- Windows与Linux(Ubuntu)双系统时间不一致 (相差8小时) 的解决方法
- CentOS系统时间与现在时间相差8小时解决方法
- CentOS系统时间与现在时间相差8小时解决方法
- CentOS系统时间与现在时间相差8小时解决方法
- js获取日期时间相差8小时解决方法
- 时间相差8小时
- 处理时间相差8个小时的方法
- asp.net(C#)JavaScript操作公共类(弹出/跳转)
- 一个HR的职业感想
- 如何在Qt 4程序中优化布局结构
- asp.net(c#)生成静态html页面
- ASP.NET中实现弹出消息框后跳转至另一带参数页面(Javascript)
- java(MyEclipse)相差8小时处理解决方法
- oracle一千问
- VC中字符串换行
- 详细解析Java中抽象类和接口的区别
- 在web页面中嵌入mediaplayer播放器
- 在skyeye中运行ucos
- Makefile之wildcard
- Linux动态库、静态库加载基础
- Xubuntu挂载局域网中的 windows 共享文件夹