0: 값이 동일한 경우
0보다 작은 값: 호출한 Date(date1) 객체가 이전 날짜인 경우
0보다 큰 값: 이후 날짜인 경우
// date1이 date2 보다 작으면 0보다 작은값
date1.compareTo(date2);
true: 호출한 Date(date1) 객체가 인수로 전달된 Date(date1) 객체보다 이전 날짜인 경우
false: 호출한 Date(date1) 객체가 이후 날짜이거나 동일한 경우
date1.before(date2);
true: 호출한 Date(date1) 객체가 인수로 전달된 Date(date1) 객체보다 이후 날짜인 경우
false: 이전 날짜이거나 동일한 경우
date1.after(date2);
true: 동일한 경우
date1.equals(date2);
-1: 호출한 LocalDate(date1) 객체가 인수로 전달된 LocalDate(date2) 객체보다 이전 날짜인 경우
0: 동일한 날짜인 경우
1: 이후 날짜인 경우
date1.compareTo(date2);
true: 동일한 경우
date1.equals(date2);
이전, 이후, 동일한지 비교하여 boolean 값 리턴
date1.isBefore(date2);
date1.isAfter(date2);
date1.isEqual(date2);
// 현재보다 이전 날짜
Mail findAllSendDateBefore(Date now);
// 현재보다 이후 날짜
Mail findAllSendDateAfter(Date now);
long diff = firstDate.getTime() - secondDate.getTime();
(diff / (365 * 24 * 60 * 60 * 1000L));
(diff / (24 * 60 * 60 * 1000L)) % 365;
(diff / (60 * 60 * 1000L)) % 24;
(diff / (60 * 1000L)) % 60;
(diff / 1000) % 60;