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

javaobject oriented programmingprogramming更新于 2025/2/23 21:32:17

在 Java 中,可以使用 Comparable 接口的 compareTo() 方法比较两个日期。如果 两个日期相等,则此方法 返回"0";如果 date1 在 date2 之后,则此方法返回"大于 0"的值;如果 date1 在 date2 之前,则此方法返回"小于 0"的值。

语法

int compareTo(T o)

示例

import java.text.*;
import java.util.Date;
public class CompareTwoDatesTest {
   public static void main(String[] args) throws ParseException {
      SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd");
      Date d1 = sdformat.parse("2019-04-15");
      Date d2 = sdformat.parse("2019-08-10");
      System.out.println("The date 1 is: " + sdformat.format(d1));
      System.out.println("The date 2 is: " + sdformat.format(d2));
      if(d1.compareTo(d2) > 0) {
         System.out.println("Date 1 occurs after Date 2");
      } else if(d1.compareTo(d2) < 0) {
         System.out.println("Date 1 occurs before Date 2");
      } else if(d1.compareTo(d2) == 0) {
         System.out.println("Both dates are equal");
      }
   }
}

在上面的例子中,日期 d1 发生在日期 d2 之前,因此它可以在控制台中显示"日期 1 发生在日期 2 之前"。

输出

The date 1 is: 2019-04-15
The date 2 is: 2019-08-10
Date 1 occurs before Date 2

相关文章


有用资源