1. Date.compareTo()

java.util.Date提供了在Java中比较两个日期的经典方法compareTo()。

1、如果两个日期相等,则返回值为0。

2、如果Date在date参数之后,则返回值大于0。

3、如果Date在date参数之前,则返回值小于0。

@Testvoid testDateCompare() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = sdf.parse("2009-12-31"); Date date2 = sdf.parse("2019-01-31"); System.out.println("date1 : " + sdf.format(date1)); System.out.println("date2 : " + sdf.format(date2)); if (date1.compareTo(date2) > 0) { System.out.println("Date1 时间在 Date2 之后"); } else if (date1.compareTo(date2) < 0) { System.out.println("Date1 时间在 Date2 之前"); } else if (date1.compareTo(date2) == 0) { System.out.println("Date1 时间与 Date2 相等"); } else { System.out.println("程序怎么会运行到这里?正常应该不会"); } }

输出结果:

date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前

2. Date.before(),Date.after()和Date.equals()

一种语义上比较友好的方法来比较两个java.util.Date

@Testvoid testDateCompare2() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = sdf.parse("2009-12-31"); Date date2 = sdf.parse("2019-01-31"); System.out.println("date1 : " + sdf.format(date1)); System.out.println("date2 : " + sdf.format(date2)); if (date1.after(date2)) { System.out.println("Date1 时间在 Date2 之后"); } if (date1.before(date2)) { System.out.println("Date1 时间在 Date2 之前"); } if (date1.equals(date2)) { System.out.println("Date1 时间与 Date2 相等"); } }

输出结果

date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前

3. Calender.before(),Calender.after()和Calender.equals()

使用java.util.Calendar比较两个Date日期

@Testvoid testDateCompare3() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = sdf.parse("2009-12-31"); Date date2 = sdf.parse("2019-01-31"); System.out.println("date1 : " + sdf.format(date1)); System.out.println("date2 : " + 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 时间在 Date2 之后"); } if (cal1.before(cal2)) { System.out.println("Date1 时间在 Date2 之前"); } if (cal1.equals(cal2)) { System.out.println("Date1 时间与 Date2 相等"); } }

输出结果:

date1 : 2009-12-31 date2 : 2019-01-31 Date1 时间在 Date2 之前

4. Java 8日期比较方法

在Java 8中,可以使用新的isBefore(),isAfter(),isEqual()和compareTo()来比较LocalDate,LocalTime和LocalDateTime。以下示例以比较两个java.time.LocalDate

@Testvoid testDateCompare4() throws ParseException { DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate date1 = LocalDate.of(2009, 12, 31); LocalDate date2 = LocalDate.of(2019, 1, 31); System.out.println("date1 : " + sdf.format(date1)); System.out.println("date2 : " + sdf.format(date2)); System.out.println("Is..."); if (date1.isAfter(date2)) { System.out.println("Date1 时间在 Date2 之后"); } if (date1.isBefore(date2)) { System.out.println("Date1 时间在 Date2 之前"); } if (date1.isEqual(date2)) { System.out.println("Date1 时间与 Date2 相等"); } }

输出结果

date1 : 2009-12-31date2 : 2019-01-31Is...Date1 时间在 Date2 之前

推荐教程:《java教程》

java 中如何比较时间先后,java中如何进行日期时间比较?4种方法介绍相关推荐

  1. java 获取键盘点击_Java中获取键盘输入值的三种方法介绍

    程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这 ...

  2. java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...

    转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...

  3. mysql java 日期格式化_(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...

    java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...

  4. Java:对double值进行四舍五入,保留两位小数的几种方法

    转载自   Java:对double值进行四舍五入,保留两位小数的几种方法 1. 功能 将程序中的double值精确到小数点后两位.可以四舍五入,也可以直接截断. 比如:输入12345.6789,输出 ...

  5. python可以实现哪些功能_Python中实现机器学习功能的四种方法介绍

    本篇文章给大家带来的内容是关于Python中实现机器学习功能的四种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我们将介绍从数据集中选择要素的不同方法; 并使用S ...

  6. ubuntu 开启ipv6_Ubuntu系统中禁用IPv6的两种方法介绍

    Ubuntu系统如何禁用ipv6呢?ipv6的普及将会需要很长一段时间,接下来的文章中小编将会介绍在Ubuntu系统中禁用ipv6的方法,有需要的朋友不要错过哦! Pv6 介绍 Pv6 旨在提高安全性 ...

  7. python右对齐格式化输出_Python中格式化输出的两种方法介绍

    本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...

  8. php 在函数里打开链接,JavaScript中打开链接的几种方法介绍

    如何使用JavaScript打开链接?本篇文章我们就来看看使用JavaScript打开链接的几种方法介绍. 我们先来看一段代码 使用Javascript实现打开链接,需要在location.href中 ...

  9. 华为n3计算机在哪里,在华为nova3i中连接电脑的两种方法介绍

    大家知道怎么在华为nova3i中连接电脑吗?不知道没有关系,小编今天介绍在华为nova3i中连接电脑的两种方法,希望可以帮助到你哦. 在华为nova3i中连接电脑的两种方法介绍 方法一: 1.下载并且 ...

  10. cad画直角命令_在cad中怎么画角度?cad画角度三种方法介绍

    cad是应用最广泛的计算机辅助设计软件,学会使用cad怎么画角度是必不可少的,尤其是对于新手来说,更应该学习.那么在cad中怎么画角度?下面小编就为大家介绍三种cad画角度方法,希望对大家有所帮助! ...

最新文章

  1. LeetCode简单题之字符串中的单词数
  2. 函数包装器,函数私有类处理
  3. Linux配置环境变量source时报错:export `=‘ not a valid identifier的一般原因
  4. Linux探秘之用户态与内核态
  5. jmeter file upload 变量_通达OA上传漏洞之变量覆盖分析
  6. linux的文件 I/O操作
  7. 数学建模 TOPSIS法
  8. ASP.NET Cache缓存管理基于web的缓存
  9. 感应联动不是梦,穿透屏幕“闻”见花香你敢信?
  10. 大量的数据做字符串匹配_Python Flashtext 实现大数据集下高效的关键词查找和替换...
  11. 从写博文,看模块化思维的应用
  12. ECSHOP获取当前分类下商品的品牌列表
  13. wps分析工具库如何加载_量化分析|TALib超好用的技术库,再给它封装一层如何!...
  14. 电气工程学计算机有用吗,电气工程及其自动化就业方向 有前途吗
  15. 用编程器免拆夹子刷斐讯K2 K2P解决难搞固件 刷BREED 无损原EEPROM
  16. 想知道中后台的人效如何计算吗,我知道!
  17. win7电脑麦克风有电流声怎么办
  18. C# 调用outlook 收发邮件
  19. nginx代理本地JBoss访问吃力的问题
  20. 用计算机测缘分,用两人的姓名测姻缘 免费测试两个人的缘分

热门文章

  1. [UVA 11374] Airport Express
  2. codevs 1029 遍历问题
  3. html + CSS
  4. 第三章 文本与列表控制
  5. 老板最讨厌的10种烂个性
  6. 使用python操作redis
  7. Redis字符串类型的操作
  8. tomcat中开启SSL
  9. 二叉树遍历算法之三:后序遍历
  10. 有关Select 语句查询.四