Date 비교 메소드

단비·2023년 4월 28일
0

학습

목록 보기
27/66

참고사이트

Date 비교

  • Date는 안전하지 않은 Null 처리, 불안전한 스레드 처리, 메서드의 부재 등 다양한 문제가 있음

1. compareTo( )

0: 값이 동일한 경우
0보다 작은 값: 호출한 Date(date1) 객체가 이전 날짜인 경우
0보다 큰 값: 이후 날짜인 경우

// date1이 date2 보다 작으면 0보다 작은값
date1.compareTo(date2);

2. before( )

true: 호출한 Date(date1) 객체가 인수로 전달된 Date(date1) 객체보다 이전 날짜인 경우
false: 호출한 Date(date1) 객체가 이후 날짜이거나 동일한 경우

date1.before(date2);

3. after( )

true: 호출한 Date(date1) 객체가 인수로 전달된 Date(date1) 객체보다 이후 날짜인 경우
false: 이전 날짜이거나 동일한 경우

date1.after(date2);

4. equals( )

true: 동일한 경우

date1.equals(date2);





2. LocalDate 비교

1. compareTo( )

-1: 호출한 LocalDate(date1) 객체가 인수로 전달된 LocalDate(date2) 객체보다 이전 날짜인 경우
0: 동일한 날짜인 경우
1: 이후 날짜인 경우

date1.compareTo(date2);

2. equals( )

true: 동일한 경우

date1.equals(date2);

3. isBefore, isAfter, isEqual

이전, 이후, 동일한지 비교하여 boolean 값 리턴

date1.isBefore(date2);
date1.isAfter(date2);
date1.isEqual(date2);






💡 TIPS!


1. Query Method로 날짜 기준 조회 방법

// 현재보다 이전 날짜
Mail findAllSendDateBefore(Date now);
// 현재보다 이후 날짜
Mail findAllSendDateAfter(Date now);

2. 날짜 차이 계산하기

  • 밀리초 단위로 출력됨
long diff = firstDate.getTime() - secondDate.getTime();
  1. 연도 구하기
(diff / (365 * 24 * 60 * 60 * 1000L));
  1. 일 수 구하기
(diff / (24 * 60 * 60 * 1000L)) % 365;
  1. 시간 구하기
(diff / (60 * 60 * 1000L)) % 24;
  1. 분 구하기
(diff / (60 * 1000L)) % 60;
  1. 초 구하기
(diff / 1000) % 60;
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글