Java比较两个日期的方法

在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("date 1: " + sdformat.format(d1));
      System.out.println("date 2: " + sdformat.format(d2));
      if(d1.compareTo(d2) > 0) {
         System.out.println("date1在date2之后");
      } else if(d1.compareTo(d2) < 0) {
         System.out.println("date1在date2之前");
      } else if(d1.compareTo(d2) == 0) {
         System.out.println("两个日期相等");
      }
   }
}

在上面的例子中,日期d1发生在日期d2之前,因此它可以在控制台中显示“date1发生在date2之前”。

输出结果

date 1: 2019-04-15
date 2: 2019-08-10
date1在date2之前