• 【java】jdk时间差问题


    转:Java通过new Date() 得到的时间与系统时间差N个小时的解决办法

    本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-12/48603.htm

    般情况下不会出现如题所示的问题,既然出现了我们就要想办法解决之。以我的机器为例,我的当前系统时间是北京时间2011-08-31T08:00:00,但是newDate()得到的却是:2011-08-31T00:00:00。表示java得到的时间比当前系统时间提前了8个小时,那么我们就要想办法把java得到的时间向后推迟8个小时。解决的办法是:

    1、找到你用的jre文件夹,以本机为例:C:\Program Files\Java\jdk1.5.0\jre

    2、在上述文件夹下有个zi文件夹,我们的工作都在这里。

    3、zi文件夹下有一个Etc文件夹,我们要做的工作就是从这个文件夹下找到对应的GMT文件替换zi下GMT文件。

    4、选择哪个文件呢?如果java获取的时间+N=当前系统时间,就选择GMT-N文件,重命名为GMT,覆盖掉zi下的GMT文件,如果java获取的时间-N=当前系统时间,就选择GMT+N文件,重命名为GMT,覆盖掉zi下的GMT文件。

    5、再运行一下你的程序看时间是不是正确了,如果还是不正确,请确认你的jre目录是否选得正确。

    本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-12/48603.htm

    ======================================================

    64 位JDK出现八小时时差解决方法


    发布的项目使用64位JDK,Java获取的时间总比正常的时候慢8小时,但服务器的时间及时区都是正确的,解决方法:
    设置JVM的默认时区为东八区(北京时间)

    在下面四个目录:

    Java\jre6\lib\zi\Etc
    Java\jre6\lib\zi
    Java\jdk1.6.0_18\jre\lib\zi\Etc
    Java\jdk1.6.0_18\jre\lib\zi 
    引用下找到GMT文件备份一下,然后复制一份GMT-8并重命名为GMT
    ,复制完毕,重新运行一下java程序问题即可解决!
  • 相关阅读:
    内存表id,name解决方案,举例(workspaces表)
    建立mysql远程访问账号
    mysql主从设定笔记
    mysql安装
    SAMBA 让Unix与Windows轻松共享 (2)
    /rc.d/rc.mysqld举例
    HTML编码规范1.0
    创建mysql存储过程
    《Linux企业应用案例精解》样章
    欢迎参加51CTO的技术门诊《OSSIM,企业信息安全管理利器》讨论
  • 原文地址:https://www.cnblogs.com/qima/p/2740649.html
Copyright © 2020-2023  润新知