`
wang55www
  • 浏览: 28233 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

调整时区解决jvm日期与本机时间不符

阅读更多

很多时候在用new Date() 方法得到的时间对象与本机的时间是不符的。 我发现这个问题都是由于jvm时区设置的问题。

用程序:

final Properties p = System.getProperties();
final Enumeration e = p.keys();
while (e.hasMoreElements())
{
final String prt = (String) e.nextElement();
final String prtvalue = System.getProperty(prt);
System.out.println(prt + ":" + prtvalue);
}

来查看打印出的控制台的内容

。。。。。。

user.timezone:America/New_York ----》说明时区有问题
java.awt.printerjob:sun.print.PSPrinterJob

。。。。。。

还可以做如下测试:

System.out.println(TimeZone.getDefault()); //输出当前默认时区
final TimeZone zone = TimeZone.getTimeZone("GMT+8"); //获取中国时区
TimeZone.setDefault(zone); //设置时区
System.out.println(TimeZone.getDefault()); //输出验证

我的机器是linux jvm 是读取 /etc/sysconfig/clock 文件来确定时区。 如果没有可以添加一个。

打开后发现clock文件内容:

ZONE="America/New_York" --->修改为: "Asia/Shanghai"
UTC=false
ARC=false

ZONE -- 时区
UTC -- 表明时钟设置为UTC。
ARC -- 仅用于alpha表明使用ARC。

这样就可以解决该问题。

在window下我也经常遇到这些问题。 好像都是由于注册表引起的。 我一般也是调整到其他时区,然后再调整回来解决的。

非常感谢

http://hi.baidu.com/iammonster/blog/item/d4b386de053c0f5ecdbf1a1b.html 这篇文章的作者。

分享到:
评论

相关推荐

    tomcat时区jvm修改

    ### tomcat时区JVM参数修改详解 #### 一、问题背景 在使用Tomcat部署应用的过程中,可能会遇到一个常见的问题:当应用处理日期或时间数据时,存储到数据库中的时间值比实际时间提前了一天。这主要是由于服务器与...

    java中 new date() 打印出的时间与系统时间错了八小时的解决方法

    总的来说,Java中`new Date()` 出现时间差的问题主要源于时区设置,可以通过调整JVM时区或者在代码中设定时区来解决。同时,不要忽视操作系统自身的时区设置,因为它可能会影响到其他非Java程序的时间显示。理解并...

    java的时区问题

    时区涉及到日期、时间的计算,以及与特定地理位置相关的夏令时调整。Java提供了丰富的时区支持,但理解其工作原理对于开发出正确处理时间的软件至关重要。 首先,我们需要了解Java中的`TimeZone`类,它是Java日期和...

    java获取系统时间与实际相差8小时的解决方法

    当出现Java获取时间与实际相差8小时的情况,这通常是因为JVM的默认时区设置为UTC(协调世界时),而你的本地时区可能是东八区(中国北京时间)。UTC比北京时间晚8小时,因此造成了时间差。 解决这个问题的方法有...

    weblogic服务启动的时间与系统时间不一致的解决方法

    如果服务器位于其他地区,应相应调整时区参数。 3. **保存并重启WebLogic服务** 修改完毕后,保存`startWebLogic.cmd`文件,并重新启动WebLogic服务。此时,WebLogic服务应该能够正确识别系统时间,并按照系统...

    解决win7下使用jdk1.5,时间差8小时的问题 eclipse

    在Java中,时区信息是通过Java的TimeZone类来管理的,而在Windows系统中,时区设置则由系统控制面板中的“日期和时间”选项进行调整。 首先,我们需要理解JVM(Java虚拟机)是如何获取和处理时区信息的。当Java程序...

    解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题

    - **调整时区设置**:确保数据库服务器和应用程序服务器的时区一致,或者在代码中进行时区转换。 - **使用SQL查询**:在查询时,直接使用SQL语句来获取日期时间,避免Hibernate的自动转换。 - **自定义Type**:...

    关于tomcat的8小时时间差.docx

    总结来说,当在Tomcat环境中遇到时间差问题时,首先检查硬件时间设置,然后考虑调整Java运行时的时区设置,尤其是对于跨时区运行的服务器,正确设置时区至关重要,以确保时间和日期的准确性和一致性。同时,开发工具...

    mybatis-plus的自动填充时间的问题(添加到数据库的时间比当前时间多4个小时)

    总之,当遇到MyBatis-Plus自动填充时间字段与预期不符时,应检查上述环节,确保时间信息在整个处理链路中的一致性。通过调整配置和使用恰当的数据类型,可以有效地避免类似的问题。在日常开发中,理解并正确处理时区...

    Java中指定时区的3种方法

    在Java编程语言中,指定时区是处理日期和时间操作时一个重要的概念,尤其是在跨平台或跨系统交互时。Java提供多种方法来设置和处理时区,以确保时间的准确性和一致性。以下是对标题和描述中提到的三种指定时区方法的...

    最新 java se8 虚拟机 详解

    8. **MetaSpace替代PermGen**:Java 8中,永久代(Permanent Generation)被MetaSpace取代,这解决了 PermGen 空间溢出的问题,并允许JVM动态调整元空间大小。 9. ** invokedynamic指令**:Java 8进一步利用了...

    Java1.8.0u31.7z

    旧的日期和时间API(java.util.Date和java.util.Calendar)被替换为java.time包下的新API,提供了更加直观和强大的日期、时间、时区处理功能。例如,LocalDateTime表示不包含时区信息的日期和时间,而ZonedDateTime...

    jdk8u25版本linux系统64位

    新API设计更加直观,易于使用,提供了更多的功能,如时区处理、日期间隔计算等,使得处理日期和时间变得更加方便。 此外,Stream API也是Java 8的一大亮点,它允许对集合进行声明式处理,类似于SQL查询。通过stream...

    Java模拟时钟

    此外,为了使模拟时钟更具现实感,可以考虑添加更多的功能,比如显示日期、设置闹钟、调整时区等。这将涉及更多Java日期时间API的使用,以及事件监听和处理机制。 总之,通过这个"Java模拟时钟"项目,初学者可以...

    jdk-8u251x64.rar

    6. **日期与时间API**:在JDK 8之前,Java的日期和时间处理一直被诟病,因此在JDK 8中,引入了全新的java.time包,提供了更加直观和强大的日期、时间、时区处理能力。 7. **安全性和稳定性改进**:每个JDK更新都会...

    java8新特性

    - 新的日期和时间API也支持时区,并且考虑了日期时间的复杂性,比如闰秒等。 4. 方法引用和构造器引用: - 方法引用允许我们引用现有类或对象的方法或构造器,并且可以与Lambda表达式一起使用。 - 方法引用可以...

    jdk-8u321-windows-x64.rar

    - **日期和时间API的改进**:引入`java.time`包,提供更好的日期、时间、时区处理能力,替代了过时的`java.util.Date`和`java.util.Calendar`。 **2. JDK 8u321的更新内容** JDK 8的每个更新通常会修复已知的安全...

    解决IDEA错误 Cause: java.sql.SQLException: The server time zone value的问题

    如果数据库服务器的时区设置与Java运行环境或IDEA中的配置不匹配,就会抛出SQLException,指出“服务器时间区值无效”。 具体来说,错误信息中的"The server time zone value"指的是数据库服务器在响应连接请求时...

    jdk-8u281-windows-x64

    5. **Date和Time API的改进**:JDK 8对日期和时间API进行了全面的重构,引入了`java.time`包,提供了更强大、更易用的日期、时间和时区处理能力。 6. **默认方法**:接口中可以定义默认方法,允许在不破坏向后兼容...

Global site tag (gtag.js) - Google Analytics