栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Java中比较两个日期?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在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<Calendar> {    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 equalCalendarDateWithoutTimeComparator comparator = new CalendarDateWithoutTimeComparator();System.out.println(comparator.compare(c1, c2));List<Calendar> list = new ArrayList<Calendar>();list.add(c1);list.add(c2);Collections.sort(list, comparator);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428694.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号