可能的重复:
计算两个 Java 日期实例之间的差异
嗨,我有两个 java.util.date 类型的对象。
日期开始日期;日期结束日期;
两个对象都有一个日期和指定的时间。我需要以小时、分钟和秒为单位找到它们之间的间隔。我可以以某种方式做到这一点,但我认为我的技术不是最好的。
那么你会用什么技术在 Java 中进行这个操作
可能的重复:
计算两个 Java 日期实例之间的差异
嗨,我有两个 java.util.date 类型的对象。
日期开始日期;日期结束日期;
两个对象都有一个日期和指定的时间。我需要以小时、分钟和秒为单位找到它们之间的间隔。我可以以某种方式做到这一点,但我认为我的技术不是最好的。
那么你会用什么技术在 Java 中进行这个操作
最基本的方法将使用类似的东西:
long interval = EndDate.getTime() - StartDate.getTime();
您将获得事件之间的毫秒数。然后将其转换为小时、分钟和秒。
JodaTime可以为您处理这些事情。请特别参阅Interval和Period。
import org.joda.*;
import org.joda.time.*;
// interval from start to end
DateTime start = new DateTime(2004, 12, 25, 0, 0, 0, 0);
DateTime end = new DateTime(2005, 1, 1, 0, 0, 0, 0);
Interval interval = new Interval(start, end);
Period period = interval.toPeriod();
System.out.println(period.getYears() + " years, " + period.getMonths() + " months, " + period.getWeeks() + " weeks, " + period.getDays() + ", days");
以上将打印:0年,0个月,1周,0天