在WIN7下发现一些Java的程序获取系统时间比真实时间差了8个小时,怀疑是Java程序沿用了低版本的JDK,获取时间时取的GSM 0时区,而中国是GSM +8,所以查了8个小时,解决办法如下:
修改如下:
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));
这样就可以了。
关键就是设置TimeZone: TimeZone.getTimeZone("Asia/Shanghai")
分享到:
相关推荐
java得到的时间与系统时间差N个小时的解决办法.doc
NULL 博文链接:https://huangqiqing123.iteye.com/blog/1344744
NULL 博文链接:https://klygit.iteye.com/blog/1137106
三种方法获取系统时间,源程序已经经过调试。安装了jdk后用javac 和java命令可以运行
最近有遇到java的时间不对的事件,现象:通过java语句获得系统时间,取得的时间总是比系统时间少8个小时,获得的总是格林尼治时间(0时区的时间),检查系统时间确实是正确的,时区为GMT 8:00北京……等;...
此文档0分下载,只为了帮助喜欢学习JAVA的朋友们!此文档中记载了详细的JAVA获取系统时间,希望可以帮到JAVA的初学者!
java 使用Date类获取系统的当前时间 java 使用Date类获取系统的当前时间 java 使用Date类获取系统的当前时间
测试时发现时间总是差8个小时,郁闷死。 立马想到时区不对,查看控制面板里时区设置(顺便BS一下win7,控制面板就不能学xp有个经典模式吗?郁闷死),发现时区设置正确,看来不是时区设置问题。 在win7下装JDK1.4和...
Java获取系统图标方法 为Action的java文件... 使用方法:直接在img标签指定src到此Action的dispalyIcon方法 !dispalyIcon.do" width="" height=""/>
Java获取系统时间的四种方法,很详细!
java获取list中两元素时间差
java里用于获取系统时间的类,简洁明了易懂
java 获取标准北京时间 标准北京时间 北京时间 网络时间 internet时间
java获取时间的大全,以及在实际的开发中怎么去操作时间,怎么样去设置时间的格式。
java获取当前系统信息,获取系统信息。
java 1. 使用wmic相关命令获取windows硬件相关信息。 2. 使用shell相关的dmidecode/fdisk/ifconfig命令获取Linux硬件和系统相关信息
JAVA中获取当前系统时间.pdf
java获取当前时间:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,利用System.currentTimeMillis()也可以获取
java的常用的获取时间的方法,很详细的
Java获取系统信息(cpu_内存_硬盘_进程等)的相关方法.doc,详细介绍程序的功能及执行