我想减去 2 个日期并保存差值:
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
Date a = formatter.parse("08:06");
Date b = formatter.parse("08:00");
Date asd = new Date(a.getTime() - b.getTime());
问题是 asd 不是 00:06,而是 01:06(Thu Jan 01 01:06:00 CET 1970),我认为这取决于时区。但是我该如何解决呢?我应该更改 jvm 时区吗?
最佳答案
注意 Date(long)
constructor 的 javadoc
Allocates a
Date
object and initializes it to represent the specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.
这不是间隔。
Joda-Time确实提供了 Interval
类来执行此类计算。 Java 8 也应该有 such a class什么时候出来。
关于java - 从差异/减去两个期间(具有负时间)创建新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22439322/