我实际上想将它与另一个日期进行比较,而不考虑一天中的时间
为了比较日期,我建议使用支持此功能的 JodaTime 和LocalDate
LocalDate date1 = new LocalDate(); // just the date without a time or time zone
LocalDate date2 = ....
if (date1.compareTo(date2) <=> 0)
注意:这将构建适用于默认时区的无时区 LocalDates。只要您只谈论已设置机器默认时区的时区,就可以了。例如,假设您有一个时区,CEST
这对于欧洲大部分地区来说都很好。
使用内置的时间函数,您可以执行类似的操作
public static int compareDatesInTimeZone(Date d1, Date d2, TimeZone tz) {
long t1 = d1.getTime();
t1 += tz.getOffset(t1);
long t2 = d2.getTime();
t2 += tz.getOffset(t2);
return Double.compare(t1 / 86400000, t2 / 86400000);
}