【发布时间】:2016-02-01 23:06:26
【问题描述】:
我今天在用java创建一个杰作,我需要计算两次之间的差异。
所以我使用Time.getTime() 来获取时间的长值并减去它们以获得我想要的......
这是我的测试代码:
public static void main(String[] args) {
Time time = new Time(00,00,00);
Time time2 = new Time(02,00,00);
long longTime = (time2.getTime() - time.getTime());
Time finalTime = new Time(longTime);
System.out.println(finalTime.toString());
}
现在显然打印出来的字符串必须是 02:00:00
但我总是得到 04:00:00
我尝试了很多时间,我总是把时间增加两个小时,我不知道为什么。
我什至试图减去 00:00:00 和 00:00:00
而不是得到 00:00:00
我得到了 02:00:00
那么,对我有什么帮助吗???
【问题讨论】:
-
我感觉这可能与您的语言环境/时区有关。您认为
new Time(0)应该为您返回什么? -
不是为了破坏你所做的事情,但你为什么使用 java.sql.Time 而不是 java.util.Date?你能切换到日期吗? @Pshemo,它与语言环境和时区有关。我运行他的代码并得到 19:00:00
-
@jheimbouch 我使用了 Date 并尝试了它.. 仍然增加了几个小时
-
Date 的许多方法已弃用。我将使用 GregorianCalendar 编写一个示例。给我一些。
标签: java date time subtraction