`

如何解决java.util.Date 获取的不是当前时间

阅读更多
我的抄贴生活又开始了,哈哈。主要是在学习过程中,发现解决一些问题,然后,想记录下来。

在“首选项- >Tomcat - >JVM Settings ”项,设定 JRE 的版本为“ jre1.5.0_06”,并且添加如下几个JVM Parameters :

         -Xms128m

         -Xmx512m

         -Dfile.encoding=UTF8

         -Duser.timezone=GMT+08

这是搜到的一种方法。

另一种方法是:

windows Xp pro service pack2 下Tomcat启动时间为GMT,比北京时间少8小时问题处理
机器系统为windows Xp professional service pack2
JDK版本为1.4.2_09
Tomcat版本为5.0.28
?
问题:用控制台启动tomcat,发现显示时间比北京时间少8小时,在通过WEB SERVICE接口与DELPHI通信中,因为时间少8小时导致通信出错.
分析:开始以为是TOMCAT设置时区未设置,不过TOMCAT好象不设置时区咯
????? 第二步JDK上找原因,不过JDK是用native调用的JVM里的配置咯;
????? 第三步JVM里的设置,java -Duser.timezone=Asia/Shanghai不起作用咯,继续找.*.*;
????? 第四步猜想JVM应该是取的windows的时区设置,网上搜搜还真找到几个时区设置出错的情况(非JAVA咯);
????? 第五步找了一台能正常设置时区windows注册表 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones],备份之,覆盖之.;
???? 测试.通过.HOHO~~~~;
据偶理解(好象本来就是这样呼),由于Windows时区设置出错,导致JVM取不到系统设置的时区,JDK在读取时区的时候在取不到的情况下缺省的GMT,从而使Tomcat上显示的时候比北京时间少8小时;

然而,我是通过第一种方法解决的,但是,个人还是认为第二种方法的观点是正确的,而第一种方法只不过是在tomcat里打了个补丁。要是,按第二种方法修改了注册表,估计,也不用设置tomcat了。
分享到:
评论
2 楼 还有也许 2010-08-03  
1 楼 YTDolly 2010-07-28  
第五步找了一台能正常设置时区windows注册表 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones],备份之,覆盖之.;

可以,谢谢。

相关推荐

    java.util 包.ppt

    Date 类表示日期和时间 提供操纵日期和时间各组成部分的方法 Date 类的最佳应用之一是获取系统当前时间

    java 获取当前时间

    java获取当前时间:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,利用System.currentTimeMillis()也可以获取

    Java输出系统当前的日期(年月日时分秒毫秒)

    import java.util.Date; import java.util.GregorianCalendar; public class TestOutDate { public static void main(String[] args) { //method 1 Calendar nowtime = new GregorianCalendar(); String strDateT

    java-案例情景—模拟ATM自动取款机 bank.zip

    1、案例情景—模拟ATM自动取款机 案例分析: (1)定义主类,完成持卡人信息的录入以及用卡权限的选择。 (2)定义银行卡类,...创建获取当前时间对象:Date d=new Date(); 输出当前时间:System.out.println(d); )

    移动代理服务器MAS开发包和开发手册

    public final SmSendResultBean[] querySmsResult(int sm_id, java.util.Date fromTime,java.util.Date endTime,String orgAddr,String destAddr) throws Exception 查询短消息发送结果。 Int sendMultiSm...

    DateUtils.java 日期处理相关工具类

    import java.util.Date; import java.util.TimeZone; /** * 文件名:DateUtils.java 日期处理相关工具类 * 版本信息:V1.0 * 日期:2013-03-11 * Copyright BDVCD Corporation 2013 * 版权所有 ...

    java常用工具类的使用

    A java.util.Date类型表示的是GMT时间,本身输出是国际化输出,由于中国处于东八区时间,因此输出结果是早上8点。而Date的其他构造方法和普通方法的API都不容易实现国际化,因此目前Date类的大多数方法都被标识为...

    LocalDateTimeUtil.java

    * 获取当前月份前/后的月份的第一天 * @param i 指定距离当前月份的时间 * @param state 状态 0.当月 1.前 2.后 * @return */ public static String firstDay(Integer state,Integer i){ LocalDateTime date ...

    java时间格式大全(算法源码)

    public static String dateToStrLong(java.util.Date dateDate) { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatter.format(dateDate); return date...

    java时间处理工具类--DateUtils

    * 获取DateHelper实例, 使用当前时间作为基准时间 * * @return Date */ public static DateUtils getInstance() { return new DateUtils(null); } /** * 获取年的第一天 * * @param offset ...

    升级版DateUtil.java(得到几天后的date,根据农历生日计算出年龄)

    升级版DateUtil.java 得到几天后的date,根据农历生日计算出年龄,判断当前时间是否在[startTime, endTime]区间,注意时间格式要一致

    用程序输出“当前时间是XXXX年XX月XX日XX时XX分XX秒(第XX周,周X)

    自学Date类(java.util.Date)和SimpleDateFormat类,用程序输出“当前时间是XXXX年XX月XX日XX时XX分XX秒(第XX周,周X)” 2 比较String与StringBuffer、StringBuilder的自增速度。方法:在自增前记录系统时间,...

    android获取时间差的方法

    有些时候我们需要获取当前时间和某个时间之间的时间差,这时如何获取呢? 1. 引用如下命名空间: import java.util.Date; import android.text.format.DateFormat; 2. 设置时间格式: SimpleDateFormat df = new ...

    Java如何获得系统时间

    import java.text.DateFormat;... import java.util.Date; import java.util.GregorianCalendar; public class TimeTest { //用来全局控制 上一周,本周,下一周的周数变化 private int weeks = 0; private in

    北大青鸟 Java 教材 第7章描述详细,有示例及图解.

    Date 类的构造方法有两种:无参构造方法 Date(),使用当前日期和时间创建 Date 对象;带参构造方法 Date(long dt),使用自 1970 年 1 月 1 日以后的指定毫秒数创建 Date 对象。 Date 类的常用方法包括: * getTime...

    Java - DateUtil 日期时间转换工具类

    内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关的方法,如:获取指定日期几天后的日期;...

    java操作日期大全

    * 1.各种日期类型(字符,util.Date,sql.Date,Calendar等)转换 * 2.获取指定日期的年份,月份,日份,小时...获取当前/系统日期(指定日期格式) * 4.获取字符日期一个月的天数 * 5.获取指定月份的第一天,最后一天

    获得当前时间并且停止或开始时间

    import java.util.*; public class Time extends Frame{ Label label; Button stopButton,startButton; Panel pa; Thread th; public Time(String title){ super(title); setSize(200,200); setLocation...

    Java基础的时间函数以及遗漏

     java.util包提供了 一系列的常用的类,比如 Date,calendar类,  1.Date 类 是 用户可以 获取系统的时间,或者自己来设置,  Date date=new Date();  得到的 是当前的时间。  2.格式的转化问题,用到了...

    Java 2实用教程(第三版)实验指导与习题解答

    Java 2实用教程(第三版)实验指导与习题解答 清华大学出版社 (编著 耿祥义 张跃平) 实验模版代码 建议使用文档结构图 (选择Word菜单→视图→文档结构图) 上机实践1 初识Java 4 实验1 一个简单的应用程序 ...

Global site tag (gtag.js) - Google Analytics