服务器装了win2003系统,程序读取的系统时间总是和本机时间不对,查来查去知道了是时区设置有问题,我用
System.setProperty("user.timezone","Asia/shanghai")java.util.TimeZone tz = java.util.TimeZone.getTimeZone("America/Los_Angeles");
java.util.TimeZone.setDefault(tz);
这个代码更改了以后时间正常了,可是重启以后又恢复了,不知道哪里可以更改默认的时区设置,请高手告知一下,非常急!!!先谢谢了。

解决方案 »

  1.   

    System.setProperty("user.timezone","Asia/shanghai")
    设置的是操作系统的时区吗?
      

  2.   

    下面这个帖子有我对于 Java 获得的时间错误,所有的研究都在上面了,有兴趣的话可以去看看,若下面这个帖子所说的方法无法解决的话,请再行回复。http://topic.csdn.net/u/20100507/14/c2c0ec6a-fc12-4ba6-ad2d-3c070c04266c.html
      

  3.   

    bao110908 你好,我在发帖子之前已经看了这个帖子,JDK用的1.5 update12 tomcat5.5.12 我看了,数据库记录进去的时间都是对的,我叫VC的同事写了一个读取时间的也是对的,就java不行。注册表已经改了。而且我在我本机做了一个实验,我本机时区是正常的,我用程序改成了美国时区,重启以后一样恢复了。
      

  4.   

    如果这样的话,我也没什么办法了。要不你把 JDK 升级再看看?