比较Java时间的最佳方法

时间:2011-11-16 16:42:17

标签: java date time calendar

我需要在java中进行两次比较,并确保它们彼此相距十分钟。这看起来很简单,并且在Date被弃用之前很简单。有没有人知道在java中编程的最佳方法是什么?我看到了格里高利历,但我没看到如何进入田地几分钟或一天等。

5 个答案:

答案 0 :(得分:6)

不推荐使用

Date.getTime(),并提供自纪元以来的长代表毫秒数。您可以将此作为此类简单比较的基础。

long diffInMins = Math.abs(date1.getTime() - date2.getTime()) / 60000;

答案 1 :(得分:5)

考虑使用JodaTime库,这使得这类事情变得更加容易。这最终将成为官方jdk的一部分。 (交叉手指)

答案 2 :(得分:1)

正如Mechkov所说,你可以创建一个日历并使用before,after和compare方法来测试差异。

如果你想要的是得到日历的分钟,你只需要使用这个

Calendar cal = Calendar.getInstance();
int minutes = cal.get(Calendar.MINUTE);

希望它有所帮助!

答案 3 :(得分:0)

使用Calendar API或Joda Time API。

答案 4 :(得分:0)

boolean withinTenMinutes(Date date1, Date date2) {
  boolean withinTenMins = false;
  long diffInMillis = Math.abs(date1.getTime() - date2.getTime());
  if (diffInMillis <= 10*60*1000) {
    withinTenMins = true;
  }
  return withinTenMins;
}