zoukankan      html  css  js  c++  java
  • Java —— 时区(夏令时)问题

    有没有遇到过这样的情况:数据库里的是时间是“1991-4-14”,但是Java取出来后就成了“1991-4-13”。

    解决方法一:

    先把时区设成GMT,把 根据夏时制自动调节时钟 的选项去掉。

    再把时区改回来。

      

    解决方法二:

    在取日期之前,加入如下代码:

    TimeZone.setDefault(TimeZone.getTimeZone("GMT+08"));

    解决方法三:

    如果涉及的地方比较多,方法二改动起来就比较麻烦。

    还有个更简单的:在JVM启动的时候,加入参数 -Duser.timezone=GMT+08

    【网摘】

        我这次工作将几十年的资料入库,发现问题都出现在1987到1991年的四月(86年是五月)。
        刚才从goole查了一下,我国实行夏时制刚好也是从1986年到1991(http://www.time.ac.cn/time/concept/6.htm)。
        所以我大胆估测,java其实已经注意到中国时制(CST)的夏令时了,当运行到那个星期日要转为夏令时的时候,却把两国的CST搞混,美国的CDT就出来了。
        又或者java没有错,那个"CDT"就是中国的"CDT"。

  • 相关阅读:
    维度漫谈
    维度漫谈
    世界名曲
    世界名曲
    音乐的要素
    音乐的要素
    POJ 1300 欧拉通路&欧拉回路
    C库函数笔记
    malloc()参数为0的情况
    层层递进Struts1(三)之Struts组成
  • 原文地址:https://www.cnblogs.com/memory4young/p/java-timezone.html
Copyright © 2011-2022 走看看