windows7下JVM时间错误

今天收到一封邮件,是一个人询问我关于windows7下JVM时间错误的问题,那是我很早以前在远景上发的一个帖子,我自己差不多都要忘记了,想不到还有人搜到这个问题,把我的解决方法贴一下吧,供需要的人参考。。。
————————————————————————————————
方法一(我自己的解决方法)
[size=large]windows7下JVM时间错误[/size]
先对比一下两份注册表的不同。

Win7下的;
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\China Standard Time]
"MUI_Display"="@tzres.dll,-570"
"MUI_Dlt"="@tzres.dll,-571"
"MUI_Std"="@tzres.dll,-572"
"Display"="(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐"
"Dlt"="中国夏令时"
"Std"="中国标准时间"
"TZI"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00



Win_XP下的:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\China Standard Time]
"Display"="(GMT+08:00) 北京,重庆,香港特别行政区,乌鲁木齐"
"Dlt"="中国夏季时间"
"Std"="中国标准时间"
"MapID"="-1,75"
"Index"=dword:000000d2
"TZI"=hex:20,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00


可以看出来,在XP下有些项在WIN7下是没有的,而WIN7又比XP多了一些键值,多出来的这些是做什么用的,暂且不管。
既然相同的程序在XP下运行结果是正确的,而到了WIN7下结果就发生了错误,那么二话不说,先将WIN7下缺少的项补全:
在WIN7的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\China Standard Time下,
新建一个字符串,名称:MapID,值:-1,75
新建一个DWORD,名称:Index,值:000000d2
OK,再重新编译运行程序,OK,显示正确了!


class testDate {
public static void main(String[] args) {
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = new java.util.Date();
String today = formatter.format(date);
System.out.println(date);
System.out.println(today);
System.out.println(today.toString());
System.out.println(System.getProperty("user.timezone"));
}
}


方法二(给我发邮件的那位仁兄)
他是直接在eclipse后面加了一个参数,看图片:

[img]http://dl.iteye.com/upload/attachment/228818/d790e47d-b853-33e6-bea1-027c48bc6a91.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值