import java.time.LocalDate;
import java.time.Period;
public class Main {
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2021, 9, 16);
LocalDate endDate = LocalDate.now();
Period period = Period.between(startDate, endDate);
System.out.println(period.getYears());
System.out.println(period.getMonths());
System.out.println(period.getDays());
}
}
내 전역일로부터 지금까지 얼마나 시간이 흘렀는지 계산해보았다.
결과를 보니..
벌써 1년 20일이 흘렀다.
여기서 주의할 점은 getDays는 1년 20일의 기간 차이를 일로 환산해 385일을 반환하는 것이 아닌 1년 0월 20일 중 day의 값만 반환한다는 것을 알아둬야 한다.
그렇다면 day로 환산하여 반환하는 방법은 어떤 것이 있을까?
바로 ChronoUnit를 사용하는 것이다.
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class Main {
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2021, 9, 16);
LocalDate endDate = LocalDate.now();
System.out.println(ChronoUnit.DAYS.between(startDate, endDate));
}
}
위와 같이 ChronoUnit를 사용하면 두 날짜 사이의 차이를 원하는 단위에 맞게 구할 수 있다.
ChronoUnit.DAYS 말고도 다른 단위를 사용하면 다른 단위에 따른 차이를 구할 수 있다.
ex)