8

可能的重复:
计算两个 Java 日期实例之间的差异

嗨,我有两个 java.util.date 类型的对象。

日期开始日期;日期结束日期;

两个对象都有一个日期和指定的时间。我需要以小时、分钟和秒为单位找到它们之间的间隔。我可以以某种方式做到这一点,但我认为我的技术不是最好的。

那么你会用什么技术在 Java 中进行这个操作

4

2 回答 2

14

最基本的方法将使用类似的东西:

long interval = EndDate.getTime() - StartDate.getTime();

您将获得事件之间的毫秒数。然后将其转换为小时、分钟和秒。

于 2010-12-30T19:44:33.290 回答
10

JodaTime可以为您处理这些事情。请特别参阅IntervalPeriod

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天

于 2010-12-30T19:46:47.253 回答