java比较两个日期大小(在Java中如何比较日期)

java比较两个日期大小(在Java中如何比较日期)(1)

在 Java 中有多种方法可以比较日期,日期在计算机内部表示为(long型)时间点——自1970年1月1日以来经过的毫秒数。在Java中,Date是一个对象,包含多个用于比较的方法,任何比较两个日期的方法本质上都会比较日期的时间。

本文主要介绍以下五种方式:

  1. 使用 Date.compareTo()
  2. 使用 Date.before()、Date.after() 和 Date.equals()
  3. 使用 Calender.before()、Calender.after() 和 Calender.equals()
  4. 使用 getTime()
  5. 使用 Java 8 的 isBefore()、isAfter()、isEqual() 和 compareTo()
Date.compareTo()

Date 实现了 Comparable ,因此两个日期可以直接用 compareTo 方法进行比较。

  • 如果两个日期相等,则返回值为0。
  • 如果 Date1 在 Date2 参数之后,则返回值大于0。
  • 如果 Date1 在 Date2 参数之前,则返回值小于0。

java比较两个日期大小(在Java中如何比较日期)(2)

输出结果

date1 : 2019-10-01 date2 : 2019-10-17 Date1 is before Date2

Date.before() Date.after() Date.equals()

可以用 equals、after 和 before 方法比较日期。

  • 如果两个日期在同一时间点,equals方法将返回true。
  • 如果 date1 在 date2 之前,before 返回 true,否则返回 false。
  • 如果 date2 在 date1 之后,after 返回 true,否则返回 false。

java比较两个日期大小(在Java中如何比较日期)(3)

输出结果

date1 : 2019-10-01 date2 : 2019-10-17 Date1 is before Date2

Calender.before() Calender.after() Calender.equals()

Calendar 类也有 compareTo、equals、after 和 before 方法,工作方式与上面描述的 Date 类的方法相同。因此,如果日期信息保存在 Calendar 类中,则不需要提取日期来执行比较。

java比较两个日期大小(在Java中如何比较日期)(4)

输出结果

date1 : 2019-10-01 date2 : 2019-10-17 Date1 is before Date2

getTime()

可以直接比较两个日期的时间点。这是对两种原始数据类型的比较,因此可以使用 < 、 > 和 == 来比较。

在比较日期之前,必须使用前面创建的 Date 对象中的数据来创建长整型。

java比较两个日期大小(在Java中如何比较日期)(5)

输出结果

date1 : 2019-10-01 date2 : 2019-10-17 Date1 is before Date2

Java 8 中的 isBefore() isAfter() isEqual() compareTo()

在 Java 8 中,可以使用新的 isBefore()、isAfter()、isEqual() 以及 compareTo() 来比较 LocalDate、LocalTime 和 LocalDateTime。

java比较两个日期大小(在Java中如何比较日期)(6)

输出结果

date1 : 2019-10-01 date2 : 2019-10-17 Is... Date1 is before Date2 CompareTo... Date1 is before Date2

总结

本文主要讲解了在 Java 中比较日期的几种常用方法,可以自己实际操作一下。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页