如果日期比另一天提前5天,那么有效的查找方式是什么?在比较之前,我是否需要先使用特定的SimpleDateFormat解析这两天?
答案 0 :(得分:12)
最佳Java日期时间API为Joda Time。它使这些任务和其他任务比使用标准API更容易。
答案 1 :(得分:1)
最快,但最不准确的是,您可以将两者都放入java.util.Date,getTime()中,并将差异除以一天中的毫秒数。
您可以通过创建两个Calendar对象来使其更准确,并使用它们。
如果你真的想要解决这个问题,并且掌握好一些时间,请看看Joda Time。
答案 2 :(得分:1)
Calendar
界面有一些不错的方法,包括before
,after
和equals
。
答案 3 :(得分:0)
答案 4 :(得分:0)
Date date1 = // whatever
Date date2 = // whatever
Long fiveDaysInMilliseconds = 1000 * 60 * 60 * 24 * 5
boolean moreThan5Days = Math.abs(date1.getTime() - date2.getTime()) > fiveDaysInMilliseconds
答案 5 :(得分:0)
你可以做到
Long DAY_IN_MILLIS = 86400000;
if((dateA - dateB) > DAY_IN_MILLIS * 5) {
// dateA is more than 5 days older than dateB
}
答案 6 :(得分:0)
如果您需要忽略日期的时间,您可以执行类似
的操作 public static boolean compare5days(Date date, Date another) {
Calendar cal = Calendar.getInstance();
cal.setTime(another);
cal.add(Calendar.DATE, -5);
// clear time
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return date.before(cal.getTime());
}
答案 7 :(得分:-1)
days = (date2.getTime() - date1.getTime())/86400000L
答案 8 :(得分:-1)
days =(date2.getTime() - date1.getTime())