>Java >java지도 시간 >Java는 어떻게 두 날짜 사이의 일수를 효율적으로 계산할 수 있습니까?

Java는 어떻게 두 날짜 사이의 일수를 효율적으로 계산할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-13 08:17:10488검색

How Can Java Efficiently Calculate the Number of Days Between Two Dates?

Java를 사용하여 두 날짜 사이의 날짜 계산

두 날짜 간의 차이를 확인하는 것은 일반적인 프로그래밍 작업입니다. Java는 윤년 및 서머타임 처리를 포함하여 이 프로세스를 단순화하기 위한 여러 클래스와 메소드를 제공합니다.

Java 8 Time API를 사용하여 날짜 계산

Java 8에서는 새로운 java가 도입되었습니다. 날짜 및 시간 작업을 위한 보다 현대적이고 사용하기 쉬운 API를 제공하는 time 패키지입니다. Java 8을 사용하여 날짜 사이의 날짜를 계산하려면 다음 단계를 따르세요.

  1. DateTimeFormatter.ofPattern("dd MM yyyy")를 사용하여 각 날짜 문자열을 구문 분석합니다.
  2. 둘 사이의 기간을 계산합니다. Duration.between()을 사용하여 날짜를 지정합니다.
  3. 다음을 사용하여 기간을 일수로 변환합니다. Duration.toDays().

예:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MM yyyy");
String inputString1 = "23 01 1997";
String inputString2 = "27 04 1997";

try {
    LocalDateTime date1 = LocalDate.parse(inputString1, dtf);
    LocalDateTime date2 = LocalDate.parse(inputString2, dtf);
    long daysBetween = Duration.between(date1, date2).toDays();
    System.out.println("Days: " + daysBetween);
} catch (ParseException e) {
    e.printStackTrace();
}

역일 계산

위의 접근 방식은 일수를 달력 날짜가 아닌 일반적인 24시간 단위로 계산합니다. 달력 날짜에는 java.time.temporal.ChronoUnit.DAYS 및 between() 메서드를 사용합니다.

long daysBetween = ChronoUnit.DAYS.between(date1, date2);

윤년 및 하절기 처리

둘 다 Java 8 시간 API 및 원래 답변에 제공된 SimpleDateFormat 클래스가 윤년 및 서머타임을 자동으로 처리합니다.

문자열을 날짜로 변환

불필요하게 문자열을 날짜로 변환하거나 그 반대로 변환하지 마세요. SimpleDateFormat은 강력한 도구이지만 불필요하게 각 날짜를 두 번 구문 분석하고 형식을 지정합니다. LocalDateTime.parse() 메서드를 직접 사용하는 것이 더 효율적입니다.

위 내용은 Java는 어떻게 두 날짜 사이의 일수를 효율적으로 계산할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.