在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之前