`

windows7在java1.5输出当前时间问题解决方法 .

    博客分类:
  • java
 
阅读更多

Windows7在稳定性和可靠性上确实做的比较成功,但是搞JAVA开发的朋友肯定会遇到一个问题,那就是在windows7操作系统里,开发java程序,使用JDK1.5运行程序的时候,惊讶的发现new Date()出来的当前时间竟然和真实时间相差8小时。注意,JDK1.6是不会出现这个问题的,问题就在于jdk1.5里读取时区的时候出现问题,没有读到中国的夏令时间。解决办法有两种

一、在代码前增加时间区域设置,如下:

 

  1. DateFormat dateFormatterChina = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);//格式化输出   
  2. TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取时区   
  3. dateFormatterChina.setTimeZone(timeZoneChina);//设置系统时区   
  4. Date curDate = new Date();//获取系统时间   
  5.    
  6. System.out.println(dateFormatterChina.format(curDate));  
DateFormat dateFormatterChina = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);//格式化输出
TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取时区
dateFormatterChina.setTimeZone(timeZoneChina);//设置系统时区
Date curDate = new Date();//获取系统时间
 
System.out.println(dateFormatterChina.format(curDate));

 

 

但这种办法太死板了,从程序上解决只是治标,却不治本,而且增加代码复杂度,每个获取当前时间的地方都要对应的改,即便提供工具类,也是把原汁原味的东西改了个便。所以建议大家使用方案二。

二、修改windows7注册表(推荐)

运行regedit命令,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Time Zones\China Standard Time。

新建一个字符串“mapId”,值为“-1,75”,如下图


然后在java程序中运行new Date,OK

分享到:
评论

相关推荐

    win7系统下java相差8小时解决(经典小问题)

    在win7下装JDK1.4和JDK1.5、eclipse,输出系统时区和时间。 果然,输出时区为"GMT",时间差8小时。那就说明是jdk1.5在win7下取不到正确的时区。 什么原因呢,为了验证我的假设,又下了最新的jdk1.6,后台打印输出...

    java Socket实现聊天程序

    当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端 当用户发送聊天信息时,服务端将会...

    Java聊天室程序源码(毕业设计)

    当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端 当用户发送聊天信息时,服务端将会...

    Java应用开发与课程设计实例.pptx

    Java应用开发与课程设计实例 Java程序设计及应用 Java应用开发与课程设计实例全文共20页,当前为第1页。 2023/5/29 应用开发与课程设计实例 2 1.1 系统开发概述 通常,系统开发要经历系统规划、系统分析、系统设计、...

    Java聊天室程序(源代码)

    当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端 当用户发送聊天信息时,服务端将会...

    Java聊天室程序源码

    当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端 当用户发送聊天信息时,服务端将会...

    JavaChatroom

    当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端 当用户发送聊天信息时,服务端将会...

    JavaScript完全自学宝典

    操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:UltraEdit12.10a、eclipse-jee-europa Web浏览器:Microsoft Internet Explorer 6.0及以上版本 Web服务器:Tomcat 5.5.20及以上...

    JavaScript完全自学宝典 源代码

    操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:UltraEdit12.10a、eclipse-jee-europa Web浏览器:Microsoft Internet Explorer 6.0及以上版本 Web服务器:Tomcat 5.5.20及以上...

    XML实用大全----xml详细参考书

    12.12.7 text-indent属性... 378 12.12.8 line-height属性... 378 12.13 框属性... 380 12.13.1 页边距属性... 380 12.13.2 边框线属性... 381 12.13.3 贴边属性... 384 12.13.4 大小属性... 385 12.13.5 ...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    Jdk安装目录下D:\toots\Java\jdk1.6.0_18\bin\msvcr71.dll复制到C:\WINDOWS\system32下 二、 安装过程 设置环境变量: JAVA_HOME= D:\toots\Java\jdk1.6.0_18 classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\...

    java版斗地主源码-ALPR_Dev:结合easyPR和openalpr实现自动车票识别

    java版斗地主源码 EasyPR EasyPR是一个开源的中文车牌识别系统,其目标是成为一个简单、高效、准确的车牌识别库。 相比于其他的车牌识别系统,EasyPR有如下特点: 它基于openCV这个开源库。这意味着你可以获取全部源...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    6.2.6 使用计划信息来解决问题 161 6.3 小结 169 第7章 高级分组 170 7.1 基本的GROUP BY用法 171 7.2 HAVING子句 174 7.3 GROUP BY的“新”功能 175 7.4 GROUP BY的CUBE扩展 175 7.5 CUBE的实际应用 179 ...

    File Splitter:分割,压缩和加密文件的简单工具-开源

    可用的源代码在这里:https://github.com/antoniopelusi/File-Splitter版本:1.5... com / en / download /临时文件将被自动删除输出文件存储在:-Windows OS的File Splitter当前文件夹中-Linux操作系统的home文件夹中

Global site tag (gtag.js) - Google Analytics