Java LocalDate withDayOfYear 메서드 사용법

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java LocalDate 클래스의 withDayOfYear() 메서드를 사용하여 새로운 연중 날짜 값을 가진 날짜를 생성하는 방법을 배웁니다.

Java 파일 생성

~/project 디렉토리 아래에 LocalDateWithDayOfYear.java 파일을 생성하고 다음 코드를 입력합니다.

import java.time.LocalDate;

public class LocalDateWithDayOfYear {
    public static void main(String[] args) {
        System.out.println("Original date: ");
        LocalDate localDate = LocalDate.of(2002, 01, 10);
        System.out.println(localDate);
    }
}

다음 명령을 사용하여 코드를 컴파일하고 실행합니다.

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

출력 결과는 원래 날짜를 표시해야 합니다.

Original date:
2002-01-10

withDayOfYear() 를 사용하여 새로운 연중 날짜 설정

새로운 연중 날짜 값을 설정하여 새로운 날짜를 생성하려면, withDayOfYear() 메서드를 사용하여 날짜에 대한 새로운 날짜를 설정할 수 있습니다.

System.out.println(localDate); 라인 뒤에 다음 코드를 추가합니다.

// set day-of-year as 30
localDate = localDate.withDayOfYear(30);
System.out.println("New date with day-of-year set as 30: ");
System.out.println(localDate);

// set day-of-year as 300
localDate = localDate.withDayOfYear(300);
System.out.println("New date with day-of-year set as 300: ");
System.out.println(localDate);

다음 명령을 사용하여 코드를 컴파일하고 실행합니다.

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

출력 결과는 새로운 연중 날짜 값을 가진 새로운 날짜를 표시해야 합니다.

Original date:
2002-01-10
New date with day-of-year set as 30:
2002-01-30
New date with day-of-year set as 300:
2002-10-27

유효하지 않은 날짜 처리

결과 날짜가 유효하지 않은 경우, 예외가 발생합니다. 다음과 같이 try-catch 블록을 사용하여 예외를 처리할 수 있습니다.

try {
    // set day-of-year as 366 (invalid for non-leap year)
    localDate = localDate.withDayOfYear(366);
    System.out.println(localDate);
} catch (Exception e) {
    System.out.println("Invalid date: " + e.getMessage());
}

다음 명령을 사용하여 코드를 컴파일하고 실행합니다.

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

출력 결과는 유효하지 않은 날짜 예외 메시지를 표시해야 합니다.

Original date:
2002-01-10
New date with day-of-year set as 30:
2002-01-30
New date with day-of-year set as 300:
2002-10-27
Invalid date: Invalid date 'DayOfYear 366' as '2002' is not a leap year

요약

이 랩에서는 Java LocalDate 클래스에서 withDayOfYear() 메서드를 사용하여 새로운 연중 날짜 값을 가진 날짜를 생성하는 방법을 배웠습니다. 또한 새로운 연중 날짜 값을 설정할 때 유효하지 않은 날짜 예외를 처리하는 방법도 배웠습니다.