这里介绍Java比较两个日期类型三个例子:
Date.compareTo()
一个经典的方法比较两个日期类型。
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");
System.out.println(sdf.format(date1));
System.out.println(sdf.format(date2));
if (date1.compareTo(date2) > 0) {
System.out.println("Date1 is after Date2");
} else if (date1.compareTo(date2) < 0) {
System.out.println("Date1 is before Date2");
} else if (date1.compareTo(date2) == 0) {
System.out.println("Date1 is equal to Date2");
} else {
System.out.println("How to get here?");
}
}
Date.before(), Date.after() and Date.equals()
这是一个对用户更友好的方法去比较两个日期
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");
System.out.println(sdf.format(date1));
System.out.println(sdf.format(date2));
if (date1.after(date2)) {
System.out.println("Date1 is after Date2");
}
if (date1.before(date2)) {
System.out.println("Date1 is before Date2");
}
if (date1.equals(date2)) {
System.out.println("Date1 is equal Date2");
}
}
Calender.before(), Calender.after() and Calender.equals()
最常用的方法去比较两个日期java.util.Calendar类
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");
System.out.println(sdf.format(date1));
System.out.println(sdf.format(date2));
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
if(cal1.after(cal2)){
System.out.println("Date1 is after Date2");
}
if(cal1.before(cal2)){
System.out.println("Date1 is before Date2");
}
if(cal1.equals(cal2)){
System.out.println("Date1 is equal Date2");
}
}
Java如何比较日期类型
发表于:2017-08-08
作者:网络转载
来源:
 相关文章
前端到底是“技术深度”重要还是“技... 悟透一个小窍门,你就能举一反三掌握... 聊聊架构设计流程:设计备选方案 Java中的并发编程模型及其应对策略 掌握Java并发编程,避免无处不在的竞态条件 2024年,五个Java开发者应该关注的编程趋势- 周排行
- 月排行
-   13个Python web框架比较
-   Python 模块 asyncio-异步IO,事件循环和并发
-   我们一起聊聊如何提高API性能的综合策略
-   微服务架构:构建高灵活性的分布式系统
-   放弃后端,冲测开去了!
-   你需要理解的Java反射机制知识总结
-   聊聊并发编程两原则,你明白了吗?
-   我们一起聊聊如何提高API性能的综合策略
-   工作中最常见的6种OOM(内存溢出)问...
-   看大牛是如何阅读JDK源码,涨涨见识
-   程序员开发利器?在线工具集锦
-   你需要理解的Java反射机制知识总结
-   工作中有没有做过性能调优?一问这个...
-   Java线程池为什么先入队列再增加线程数?