`

如何解决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.Date与java.sql.Date互转及字符串转换为日期时间格式[文].pdf

    可以使用Calendar类来获取当前时间,然后将其转换为java.sql.Timestamp: Calendar calendar = Calendar.getInstance(); java.sql.Timestamp timestamp = new java.sql.Timestamp(calendar.getTimeInMillis()); 四...

    java.sql.date与java.util.date.pdf

    - 可以通过`System.currentTimeMillis()`获取当前时间的`java.util.Date`实例。 - 使用`SimpleDateFormat`进行日期格式化和解析。 2. **`java.sql.Date`**: - `java.sql.Date` 是专门为处理SQL DATE类型而设计...

    java API 在包java.util中有一个GregorianCalendar类,使用它可以得到一年内某个月的日历.zip

    Java API中的`java.util.GregorianCalendar`类是用于处理日期和时间的重要工具,它提供了丰富的功能来满足各种日历操作需求。这个类是基于格里高利历(公历)的,是Java中最常用的日期时间类之一。在给定的压缩包...

    java 使用Date类获取系统的当前时间

    // 创建Date对象,自动获取当前时间 Date currentDate = new Date(); // 使用默认的本地化格式打印日期和时间 System.out.println("当前时间:" + currentDate); // 使用自定义格式打印日期和时间 String ...

    java.util.Calendar求日期

    在Java编程语言中,`java.util.Calendar`类是处理日期和时间的重要工具之一。通过`Calendar`类,我们可以轻松地获取、操作和解析日期及时间数据。本文将深入探讨如何利用`java.util.Calendar`来计算特定日期,如今天...

    Java 获取日期时间代码

    获取当前时间的时间戳有两种方式: 1. **使用 `java.util.Date` 的 `getTime()` 方法** ```java import java.util.*; public class TestDate { public static void main(String[] args) { java.util.Date ...

    java.util包介绍.pdf

    - **Calendar**:提供了对日期和时间的高级操作,如获取当前日期、修改日期等。 - **Date**:表示特定的时间点,通常用于记录事件发生的时刻。 ##### 2. Random 类 - **定义**:用于生成伪随机数,可以生成整数、...

    util包里的Date类转换为sql包里的Date

    `java.util.Date`是Java标准库中的一个类,用于表示特定的时间点,精确到毫秒。这个类提供了多种构造函数来创建日期对象,并且还提供了一些方法来获取或设置日期的不同部分,如年、月、日等。例如: ```java Date ...

    日历调整、时间调整、时间预测、以及Java.util包和Java.test包的简单运用,其中包含10个源代码文件,只需导入eclipse中即可编译、运行。

    你可以使用`Date`类的构造函数创建日期对象,或者用`System.currentTimeMillis()`获取当前时间。`Date`类的一些方法如`before()`和`after()`可用于比较两个日期。 `java.text.SimpleDateFormat`是格式化和解析日期...

    Java_Date_日期时间整理

    可以使用以下代码来获取当前日期: ```java <%@ page import="java.util.Date"%> <% Date myDate = new Date(); %> ``` 二、获取当前年、月、日 可以使用 `java.util.Date` 类的 `getYear()`、`getMonth()`、`...

    java 使用GregorianCalendar类获取系统的当前时间

    例如,要获取当前年份,我们可以使用`get(Calendar.YEAR)`: ```java int currentYear = gregorianCalendar.get(Calendar.YEAR); System.out.println("当前年份:" + currentYear); ``` 对于其他字段,如月份...

    java如何获取时间

    `java.util.Date`类可以直接用来获取当前的时间戳。它提供了获取当前日期和时间的功能,但并不提供格式化功能。如果需要格式化的日期字符串,则需要配合`SimpleDateFormat`等类一起使用。 ```java // 获取当前时间 ...

    java_util 工具包

    `java.util.Date`类封装了日期和时间信息,使得开发者能够轻松地获取系统当前时间或设置特定的日期和时间。然而,随着JDK版本的演进,`Date`类的部分方法已被标记为过时,推荐使用更为现代的`java.time`包中的类如`...

    utilDate和sqlDate区别、转换及应用

    Java编程语言中有两种重要的日期类型,分别是`java.util.Date`和`java.sql.Date`,它们在处理日期和时间上有着不同的特性和用途。本文将详细探讨这两种类型的区别、转换方法以及在实际应用中的使用场景。 首先,`...

    java.util 包.ppt

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

    JAVA时间格式化处理[参考].pdf

    java.util.Date 类是 JAVA 中的基本日期类,它可以用来获取当前的日期和时间。java.util.Calendar 类是 JAVA 中的日历类,它可以用来计算日期和时间。 在 JAVA 中,日期和时间的格式化主要通过 java.text....

    Java程序 实现 显示当前时间

    首先,Java标准库中的`java.util.Date`类是获取当前时间的基本方法。你可以创建一个Date对象,它会自动初始化为当前时间。例如: ```java import java.util.Date; public class CurrentTime { public static void...

    JAVA中获取当前系统时间.pdf

    JAVA中获取当前系统时间.pdf JAVA中获取当前系统时间是 Java programming 语言中的一项基本操作。获取当前系统时间可以使用多种方法,这里我们将介绍其中的两种方法。 方法一:使用 Date 类 在 Java 中,Date 类...

    android 获取当前系统时间

    1. 使用`java.util.Date`获取当前时间: ```java import java.util.Date; // 获取当前时间 Date currentDate = new Date(); String currentTime = currentDate.toString(); Log.d("CurrentTime", currentTime); ``...

Global site tag (gtag.js) - Google Analytics