准备好的陈述中的时间问题 - > MySQL的

时间:2011-05-15 14:49:56

标签: java

当我在准备好的陈述中使用以下代码时

Date totalDate = visit.getTotalTime();
Date visitDate = visit.getVisitTime();

java.sql.Time sqlTotalTime = new java.sql.Time(totalDate.getTime() - visitDate.getTime()); 
ps.setTime(4, sqlTotalTime);

我使用这些值

08/Dec/2010:07:27:54
08/Dec/2010:07:27:52

我期待00:00:02但是我得到01:00:02?

任何人都知道为什么......

1 个答案:

答案 0 :(得分:0)

问题是你试图让持续时间变成一段时间。两个不同的概念。创建Time实例时,它与您的时区相关联。如果我在东海岸,我当地时间19:00:02但格林尼治标准时间00:00:02。如果您正在寻找真实的时间,那么您必须将totalDate和visitDate之间的差异添加或减去某个知道时间值,以获得您想要的时间值。