如何在Java中比较两个日期?
在Java中,可以使用 compareTo()方法 来比较两个日期,这是 Comparable 接口的方法。如果 两个日期相等 ,它将返回数字 ‘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