比较不带时间的日期
可能的重复:
如何在没有时间部分的情况下比较两个日期?
如何在java中比较没有时间的日期?
Date currentDate = new Date();// get current date
Date eventDate = tempAppointments.get(i).mStartDate;
int dateMargin = currentDate.compareTo(eventDate);
此代码比较时间和日期!
可能的重复:
如何在没有时间部分的情况下比较两个日期?
如何在java中比较没有时间的日期?
Date currentDate = new Date();// get current date
Date eventDate = tempAppointments.get(i).mStartDate;
int dateMargin = currentDate.compareTo(eventDate);
此代码比较时间和日期!
尝试将日期更改为 00:00:00 的时间进行比较(如此函数所示):
public static Date getZeroTimeDate(Date fecha) {
Date res = fecha;
Calendar calendar = Calendar.getInstance();
calendar.setTime( fecha );
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
res = calendar.getTime();
return res;
}
Date currentDate = new Date();// get current date
Date eventDate = tempAppointments.get(i).mStartDate;
int dateMargin = getZeroTimeDate(currentDate).compareTo(getZeroTimeDate(eventDate));
您可以编写一个方法,该方法返回所有时间字段(小时、分钟、秒、毫、时区)都设置为零的日期的副本。然后你可以比较这些。Date withoutTime(Date)
或者,如果可能的话,您可以切换到Joda Time。该库已经具有 数据类型 ,这就是您要查找的内容。DateMidnight