[Android] Java8에서 날짜 차이 계산하기(java.time.LocalDate)
Java8의 java.time
패키지에 추가된 LocalDate
클래스 사용 시
until(ChronoLocalDate endDate)
메소드를 사용하여 두 날짜 사이의 기간(Period
)을 구할 수 있다.
LocalDate today = LocalDate.now(); // 오늘 2019년 12월 30일 LocalDate eventDate = LocalDate.of(2018, 07, 24);
Period period = eventDate.until(today);
System.out.println(period.getYears()); // 1년
System.out.println(period.getMonths()); // 5개월
System.out.println(period.getDays()); // 6일
System.out.println(ChronoUnit.YEARS.between(eventDate, today)); // 1년
System.out.println(ChronoUnit.MONTHS.between(eventDate, today)); // 17개월
System.out.println(ChronoUnit.DAYS.between(eventDate, today)); // 524일
주의해야할 점은,
Period
객체의 getYears()
, getMonths()
, getDays()
메소드는 각각 year에 대한 차, month에 대한 차, day에 대한 차를 리턴하며, 이는 기간 전체에 대한 차이가 아님.
두 날짜 사이의 전체에 대한 차이를 구하려면 ChronoUnit
클래스의 between()
메소드를 사용해야 한다.