Calendar cd=java.util.Calendar.getInstance();
String lyr="("+gwd.getweekday().toString()+")"+cd.get(cd.YEAR)+"年"+(cd.get(cd.MONTH)+1)+"月"+cd.get(cd.DATE)+"日"+(Calendar.getInstance().HOUR_OF_DAY+1)+"时"+cd.get(cd.MINUTE)+"分"+cd.get(cd.SECOND)+"秒";
始终取不到正确的  小时的值
比如明明现在是13点42分,但是jsp取到的,而且还加了1的,却是12
如何正确的取到当前的小时数呢?谢谢

解决方案 »

  1.   

    Calendar.getInstance().HOUR_OF_DAY+1 错了应该是cd.get(Calendar.HOUR_OF_DAY)
      

  2.   

    Calendar cd=java.util.Calendar.getInstance();
    out.println(cd.get(Calendar.HOUR_OF_DAY));打印出来显示为6,怎么会是6呢?至少现在也应该显示14或15呀
      

  3.   

    我的会返回15,如果你的返回是6。说明JVM读取你机器的时间有问题,你可尝试在启动程序中增加参数java -Duser.timezone=Asia/Shanghai pkg.Myclass
      

  4.   

    能具体讲一下在启动的哪个环节下加参数呢?我用的:
    tomcat5.5.9+jdk1.6
    我重装了tomcat,重装了jdk1.6,问题依然存在呀????
    请问应该如何解决这事呀?
    谢谢
      

  5.   

    如果是Tomcat,则在catalina.cmd中开始地方增加一行
    set JAVA_OPTS=-Duser.timezone=Asia/Shanghai 
      

  6.   

    你的问题我也遇到过补几行代码就OK成功了记得给我们哦,呵呵
    TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
    TimeZone.setDefault(tz);
      

  7.   

    Date的getHours()简单,不知道为什么不推荐了?也没去研究,但是能解决问题
      

  8.   

    Date的getHours()简单 很容易出BUG,所以不推荐