java 怎么比较两个日期_如何在Java中比较两个日期?
小編典典
您可以像這樣逐個比較價值
d1.getDate().equals(d2.getDate()) &&
d1.getYear().equals(d2.getYear()) &&
d1.getMonth().equals(d2.getMonth())
要么
Date date1 = new Date(d1.getYear(), d1.getMonth(), d1.getDate());
Date date2 = new Date(d2.getYear(), d2.getMonth(), d2.getDate());
date1.compareTo(date2);
如果您使用Date類,請考慮改用Calendar類這是最優雅的解決方案,為此使用Calendar和Comparator
public class CalendarDateWithoutTimeComparator implements Comparator {
public int compare(Calendar cal1, Calendar cal2) {
if(cal1.get(Calendar.YEAR) != cal2.get(Calendar.YEAR)) {
return cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
} else if (cal1.get(Calendar.MONTH) != cal2.get(Calendar.MONTH)) {
return cal1.get(Calendar.MONTH) - cal2.get(Calendar.MONTH);
}
return cal1.get(Calendar.DAY_OF_MONTH) - cal2.get(Calendar.DAY_OF_MONTH);
}
}
用法:
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
// these calendars are equal
CalendarDateWithoutTimeComparator comparator = new CalendarDateWithoutTimeComparator();
System.out.println(comparator.compare(c1, c2));
List list = new ArrayList();
list.add(c1);
list.add(c2);
Collections.sort(list, comparator);
2020-11-26
總結
以上是生活随笔為你收集整理的java 怎么比较两个日期_如何在Java中比较两个日期?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux eclipse java_从
- 下一篇: java 内存排序_详细解析Java内存