找到两个java.util.date之间的间隔

时间:2010-12-30 19:41:47

标签: java datetime java.util.date

  

可能重复:
  Calculating the Difference Between Two Java Date Instances

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

Date StartDate; Date EndDate;

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

那么你将用什么技术在Java中进行这项操作

2 个答案:

答案 0 :(得分:14)

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

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

您将获得事件之间的毫秒数。然后就是把它转换成小时,分钟和秒钟。

答案 1 :(得分:9)

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天