Java.sql.time的替代品

时间:2013-06-29 07:48:46

标签: java mysql hibernate datetime

java.sql.time无法正常工作吗?

这是我的代码

         Time lowertime=new Time(date.getTime());
         lowertime.setHours(lowertime.getHours()-11);
         System.out.println(lowertime);
         Time uppertime=lowertime;
         uppertime.setHours(lowertime.getHours()+1);
         System.out.println(uppertime);
         System.out.println(lowertime);

获得的结果

02:11:13
03:11:13
03:11:13

结果应为:

 02:11:13
 03:11:13
 02:11:13

我搜索了java文档,并且不推荐使用它。想要获得1小时或(比如说58分钟)的时间范围。

我使用的是java,Hibernate Framework和MySql数据库。对我来说,这是最好的选择。

1 个答案:

答案 0 :(得分:3)

Time uppertime=lowertime;

由于上面的行,uppertime和lowertime是对同一对象的两个引用。每次修改一个,你也修改另一个,因为它们实际上是一个唯一的对象。您需要创建一个副本:

Time uppertime = new Time(lowertime.getTime());