JAVA

[JAVA] 문자열 날짜를 LocalDate로 날짜 차이 구하기

오선지♬ 2024. 9. 22. 12:22
728x90
반응형
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        // 8자리 날짜 문자열 (yyyyMMdd)
        String startDateStr = "20230901";
        String endDateStr = "20240927";

        // 문자열을 LocalDate로 변환
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
        LocalDate startDate = LocalDate.parse(startDateStr, formatter);
        LocalDate endDate = LocalDate.parse(endDateStr, formatter);

        // 날짜 차이 계산
        Period period = Period.between(startDate, endDate);

        // 출력
        System.out.println("Years: " + period.getYears());
        System.out.println("Months: " + period.getMonths());
        System.out.println("Days: " + period.getDays());

        // 총 일수 계산
        long totalDays = endDate.toEpochDay() - startDate.toEpochDay();
        System.out.println("Total Days: " + totalDays);
    }
}

설명

  • DateTimeFormatter: "yyyyMMdd"형식의 문자열을 LocalDate변환하기 위해 사용됩니다.
  • Period.between(): 두 배우자의 차이를 구하는 데 사용하며, 연도, 월, 일기본적인 차이를 제공합니다.
  • toEpochDay(): 데이트를 총 일수로 변환하여 두 가지 동맹 일수 차이를 찾을 수 있습니다.

이 방식으로 8자리 문자열로 선택 두 데이트 사이의 차이를 쉽게 이동할 수 있습니다.

728x90
반응형

'JAVA' 카테고리의 다른 글

[JAVA] InputStream / InputStreamResource  (2) 2024.10.02
[JAVA] URLEncoder java.net/ apache 차이  (0) 2024.10.01
[JAVA] DecimalFormat  (0) 2024.09.21
[JAVA] Serializable  (0) 2024.09.20
[JAVA] Map containsKey  (1) 2024.09.14