Java中比较日期大小常用的集中方式有:
-
使用Date的before、after、equals方法进行比较
-
使用Calendar的compareTo方法进行比较
-
使用SimpleDateFormat的parse方法将字符串转换为日期对象后进行比较
下面分别给出这三种方式的实例代码:
- 使用Date的before、after、equals方法进行比较
import java.util.Date;
public class CompareDateExample {
public static void main(String[] args) {
Date date1 = new Date(2020, 1, 1);
Date date2 = new Date(2021, 1, 1);
if (date1.before(date2)) {
System.out.println("date1 is before date2");
}
if (date1.after(date2)) {
System.out.println("date1 is after date2");
}
if (date1.equals(date2)) {
System.out.println("date1 is equal to date2");
}
}
}
2.使用Calendar的compareTo方法进行比较
import java.util.Calendar;
public class CompareDateExample {
public static void main(String[] args) {
Calendar calendar1 = Calendar.getInstance();
calendar1.set(2020, 0, 1);
Calendar calendar2 = Calendar.getInstance();
calendar2.set(2021, 0, 1);
if (calendar1.compareTo(calendar2) < 0) {
System.out.println("calendar1 is before calendar2");
}
if (calendar1.compareTo(calendar2) > 0) {
System.out.println("calendar1 is after calendar2");
}
if (calendar1.compareTo(calendar2) == 0) {
System.out.println("calendar1 is equal to calendar2");
}
}
}
3.使用SimpleDateFormat的parse方法将字符串转换为日期对象后进行比较
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CompareDateExample {
public static void main(String[] args) throws ParseException {
String dateString1 = "2020-01-01";
String dateString2 = "2021-01-01";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = dateFormat.parse(dateString1);
Date date2 = dateFormat.parse(dateString2);
if (date1.before(date2)) {
System.out.println("date1 is before date2");
}
if (date1.after(date2)) {
System.out.println("date1 is after date2");
}
if (date1.equals(date2)) {
System.out.println("date1 is equal to date2");
}
}
}