Oh *_*oon 4 java date jodatime
我正在寻找一种更好的方式检查是否一个List的java.util.Date对象(ArrayList被返回给我).场景是,我返回了一个List日期,我想知道我手边List的日期是否在我返回的日期之内.
目前我正在做的是循环List并使用JodaTime来比较日期.
注意:在比较日期(而不是时间部分)时,只应考虑日期部分.
编写自己的比较器.您可以使用它来执行Date对象的单独比较
public class MyDateComparator implements Comparator<Date> {
protected static final DateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy");
public int compare(Date d1, Date d2) {
return DATE_FORMAT.format(d1).compareTo(DATE_FORMAT.format(d2));
}
}
Date myDate = ...
List<Date> listOfDates = ...
Collections.sort(listOfDates);
int index = Collections.binarySearch(listOfDates, myDate, new MyDateComparator());
if (index >= 0) {
// you found me
}
Run Code Online (Sandbox Code Playgroud)
(在iPad上用胖手指打字,摇晃3个月大睡觉,为轻微错误道歉)