1. Sử dụng lớp LocalDate (Java 8+ - Khuyến nghị)
Lớp java.time.LocalDate biểu diễn ngày cục bộ (không có múi giờ). Lớp này cung cấp các phương thức isBefore(), isAfter() và isEqual() để so sánh hai ngày.
import java.time.LocalDate;
public class Sample {
public static void main(String args[]) {
LocalDate date1 = LocalDate.of(2007, 11, 25);
LocalDate date2 = LocalDate.of(1999, 9, 12);
Boolean bool1 = date1.isAfter(date2);
Boolean bool2 = date1.isBefore(date2);
Boolean bool3 = date1.isEqual(date2);
if (bool1) {
System.out.println(date1 + " là sau " + date2);
} else if (bool2) {
System.out.println(date1 + " là trước " + date2);
} else if (bool3) {
System.out.println(date1 + " bằng " + date2);
}
}
}
Kết quả
2007-11-25 là sau 1999-09-12
2. Sử dụng lớp Date (Legacy)
Lớp java.util.Date biểu diễn một thời điểm cụ thể. Cung cấp các phương thức before(), after() và equals().
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sample {
public static void main(String args[]) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");
Date date1 = formatter.parse("2007-11-25");
Date date2 = formatter.parse("1999-9-12");
Boolean bool1 = date1.after(date2);
Boolean bool2 = date1.before(date2);
Boolean bool3 = date1.equals(date2);
if (bool1) {
System.out.println(date1 + " là sau " + date2);
} else if (bool2) {
System.out.println(date1 + " là trước " + date2);
} else if (bool3) {
System.out.println(date1 + " bằng " + date2);
}
}
}
Kết quả
Sun Jan 11 00:00:00 IST 2009 là sau Thu Dec 09 00:00:00 IST 1999
3. Sử dụng lớp Calendar
Tương tự Date, lớp Calendar cung cấp before(), after() và equals().
import java.util.Calendar;
public class Sample {
public static void main(String args[]) {
Calendar obj1 = Calendar.getInstance();
obj1.set(2007, 11, 25);
Calendar obj2 = Calendar.getInstance();
obj2.set(1999, 9, 15);
Boolean bool1 = obj1.after(obj2);
Boolean bool2 = obj1.before(obj2);
Boolean bool3 = obj1.equals(obj2);
if (bool1) {
System.out.println(obj1 + " là sau " + obj2);
} else if (bool2) {
System.out.println(obj1 + " là trước " + obj2);
} else if (bool3) {
System.out.println(obj1 + " bằng " + obj2);
}
}
}
Kết quả
java.util.GregorianCalendar[...YEAR=2007,MONTH=11,DAY_OF_MONTH=25...] là sau java.util.GregorianCalendar[...YEAR=1999,MONTH=9,DAY_OF_MONTH=15...]