这里介绍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开发者应该关注的编程趋势- 周排行
- 月排行
-   一些Java的知识点扫盲
-   理解微服务的定义,概念以及微服务的原理
-   这款编译器能让Python和C++一样快:最...
-   八个开源微信小程序实战项目,yyds!
-   风头不减的低代码会取代传统软件开发...
-   每月处理15亿次登录,Auth0高可用架构实践
-   性能优化:量变引起质变的挑战
-   八个开源微信小程序实战项目,yyds!
-   六个神级PyCharm高效插件,编程如虎添翼
-   前端开发中不可忽视的知识点汇总(二)
-   实时输出源代码!墙裂推荐这个场景化...
-   这款编译器能让Python和C++一样快:最...
-   采用 SecDevOps 如何帮助节省软件开发成本
-   软件开发中的十个认知偏差
