这是比较日期的有效方法吗:
Calendar someCalendar1 = Calendar.getInstance(); // current date/time
someCalendar1.add(Calendar.DATE, -14);
Calendar someCalendar2 = Calendar.getInstance();
someCalendar2.setTime(someDate); // someDate is in the format of MM/dd/yyyy
if(someCalendar2.compareTo(someCalendar1) < 0){
...Code...
}
...或者有更好的方法吗?
最佳答案
Date实现可比较本身,因此没有理由将其包装到日历中:
Calendar someCalendar1 = Calendar.getInstance(); // current date/time
someCalendar1.add(Calendar.DATE, -14);
if (someDate.compareTo(someCalendar1.getTime()) < 0) {
...Code...
}
日期也有方便after()和 before()使上述比较更易于阅读的方法:
if (someDate.before(someCalendar1.getTime())) {
...Code...
}
最后,如果您经常处理日期/时间,请考虑使用 Joda Time而不是内置的java类。它更加方便和实用:
DateTime dt = new DateTime().minusWeeks(2);
if (new DateTime(someDate).isBefore(dt)) {
...Code...
}
关于java - 我应该使用 Calendar.compareTo() 来比较日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1505496/