我正在编写自己的compareTo
方法来比较两个日期。我该怎么做呢?
我之前已经考虑过这个问题,使用了大量的if语句,但必须有更好的方法。
有什么想法吗?
答案 0 :(得分:3)
如果您指的是java.util.Date,请执行date1.getTime() < date2.getTime()
。对长值的简单比较。
答案 1 :(得分:1)
有三种方法可以帮助Date.before(Date)
,Date.after(Date)
和Date.equals(Date)
你可以做点什么
public static int compareTo(Date a, Date b) {
if (a.equals(b)) return 0;
return (a.before(b) ? -1 : 1);
}
答案 2 :(得分:0)
这是一个好的开始:
public class MyComparator extends Comparator<Date> {
public int compare(Date o1, Date o2){
return o1.getTime() - o2.getTime();
}
}
例如:
TreeSet<Date> ts = new TreeSet<Date>(new MyComparator());
ts.add(new Date(98796541));
ts.add(new Date(59586541));
System.out.println("Earlier is " + ts.first());