728x90
안녕하세요.
저번시간에서는 LocalDateTime 객체를 생성해서 날짜나 시간을 관리하는 방법에 대해 배웠는데요.
이번에는 LocalDateTime 객체 2개를 서로 비교하는 메서드와 두 객체간의 기간 차이를 구하는 방법에 대해 알아보겠습니다.
객체 비교하기
LocalDateTime 객체는 두개의 객체를 서로 비교할 수 있습니다.
누가 더 이전의 날짜인지, 또는 같은 날짜인지 등을 비교비교하여 boolean 값으로 받을 수 있습니다.
LocalDateTime startDT = LocalDateTime.of(2021, 8, 14,19,32,22); //8월 14일
LocalDateTime endDT = LocalDateTime.of(2021, 8, 15,19,32,22); // 8월 15일
//startDT가 endDT보다 이전 시간인지 확인한다.
startDT.isBefore(endDT); // 결과 : true
//같은 날짜+시간일 경우 true를 리턴한다.
//** 나노초가 존재할 경우, 나노초의 시간도 일치해야 true를 리턴
startDT.isEqual(endDT); // 결과 : false
//startDT가 endDT보다 이후 시간인지 확인한다.
startDT.isAfter(endDT); // 결과 : false
객체간의 기간 차이 구하기
1. 날짜차이 Period
LocalDate startDT = LocalDate.of(2021,8,14); //8월 14일
LocalDate endDT = LocalDate.of(2021,9,15); // 9월 15일
//기간 차이를 담은 객체 만들기
Period period = Period.between(startDT, endDT);
period.getYears(); //년
period.getMonths();//월
period.getDays();//일
//**startDT와 endDT가 31일 차이가 나면 리턴이 31일이 되는 것이 아니라 1개월 1일로 반환됨
2. 전체 시간을 기준으로 차이 계산 ChronoUnit
LocalDate startDT = LocalDate.of(2021,8,14); //8월 14일
LocalDate endDT = LocalDate.of(2021,9,15); // 9월 15일
//기간 차이를 담은 객체 만들기
ChronoUnit.DAYS.between(startDT, endDT); // return : 31
ChronoUnit.YEARS // 전체 년 차이
ChronoUnit.MONTHS // 전체 월 차이
ChronoUnit.WEEKS // 전체 주 차이
ChronoUnit.DAYS // 전체 일 차이
ChronoUnit.HOURS // 전체 시간 차이
ChronoUnit.SECONDS // 전체 초 차이
예제
https://stickode.com/detail.html?no=2518
시연
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] 키보드에 검색버튼 구현하기 (0) | 2021.10.14 |
---|---|
[JAVA][Android] Logger 라이브러리 사용하기 (0) | 2021.10.13 |
[JAVA][Android] MVP 패턴 익혀보기 (0) | 2021.10.10 |
[JAVA][Android] 안드로이드 스튜디오 폰트 부분 적용하기 (0) | 2021.10.06 |
[JAVA][Android] 클릭시 카드 뒤집기 예제 (0) | 2021.10.05 |