这是比较日期的有效方式:
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...
}
Run Code Online (Sandbox Code Playgroud)
......还是有更好的方法?
Chs*_*y76 20
Date实现了可比性,因此没有理由将其包装到日历中:
Calendar someCalendar1 = Calendar.getInstance(); // current date/time
someCalendar1.add(Calendar.DATE, -14);
if (someDate.compareTo(someCalendar1.getTime()) < 0) {
...Code...
}
Run Code Online (Sandbox Code Playgroud)
Date也有方便的after()和before()方法,使上述比较更容易阅读:
if (someDate.before(someCalendar1.getTime())) {
...Code...
}
Run Code Online (Sandbox Code Playgroud)
最后,如果你正在处理很多日期/时间,请考虑使用Joda Time而不是内置的java类.它更方便,更实用:
DateTime dt = new DateTime().minusWeeks(2);
if (new DateTime(someDate).isBefore(dt)) {
...Code...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52461 次 |
| 最近记录: |