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