我目前正在处理一些需要比较日期的代码,如下所示:
public int compare(ItemLocation o1, ItemLocation o2) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
Date date1 = sdf.parse(o1.getDatePublished());
Date date2 = sdf.parse(o2.getDatePublished());
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
if(cal1.equals(cal2)) {
return 0;
} else if(cal1.before(cal2)) {
return -1;
} else if(cal1.after(cal2)) {
return 1;
}
} catch (ParseException e) {
e.printStackTrace();
}
}
所以我的问题是多方面的。
- 这是比较两个日期的最佳方法吗?
- 使用“方法必须返回 int 类型的结果”错误消息,解决此问题的最佳方法是什么?(我不认为添加 return 0; 最后是非常实用的......这就是我的想法)
- [可选] 有没有更有效的方法来编写 3 个 if/else if 语句?
多谢你们!