一、Date类型的after()方法与before()方法的使用

注意:使用之前应该将需要比较的两个对象时间使用SimpleDateFormat做出格式一致性调整;

1
2
3
4
5
6
7
.after()方法:当前面的时间晚于后面的时间时返回true,否则返回false.
例如:当前时间date=2044-03-29 12:00:00,addDate=2033-09-29 12:00:00
此时:date.after(addDate)=true

.before()方法:当前面的时间早于后面的时间时返回true,否则返回false.
例如:当前时间date=2033-09-29 12:00:00,addDate1=2044-09-29 12:00:00
此时:date.before(addDate1)=true

二、转换为字符串的形式比较

1
2
3
4
5
6
7
8
9
10
11
12
13
public class GetDate {
public static void main(String[] args) {
String str1="2015-06-08 20:20:20";
String str2="2015-02-08 20:20:20";
int res=str1.compareTo(str2);
if(res>0)
System.out.println("str1>str2");
else if(res==0)
System.out.println("str1=str2");
else
System.out.println("str1<str2");
}
}

三、通过调用Date的getTime()方法获取到毫秒数来进行比较

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
String beginTime = "2022-06-18 15:12:44";
String endTime = "2023-09-28 16:22:51";

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

{
try {
Date date1 = format.parse(beginTime);
Date date2 = format.parse(endTime);
long beginMillisecond = date1.getTime();
long endMillisecond = date2.getTime();

System.out.println(beginMillisecond-endMillisecond);
System.out.println(endMillisecond-beginMillisecond);

} catch (ParseException e) {
e.printStackTrace();
}
}