소개
Java LocalDate 클래스의 withYear() 메서드는 지정된 연도로 새로운 날짜를 얻는 데 사용됩니다. 현재 LocalDate 인스턴스의 복사본을 반환하며, 연도가 지정된 값으로 변경됩니다. 이 랩에서는 withYear() 메서드를 단계별로 사용하는 방법을 안내합니다.
Java LocalDate 클래스의 withYear() 메서드는 지정된 연도로 새로운 날짜를 얻는 데 사용됩니다. 현재 LocalDate 인스턴스의 복사본을 반환하며, 연도가 지정된 값으로 변경됩니다. 이 랩에서는 withYear() 메서드를 단계별로 사용하는 방법을 안내합니다.
터미널을 열고 touch 명령을 사용하여 Java 파일을 생성합니다.
touch ~/project/WithYearExample.java
이 명령은 ~/project/ 디렉토리에 WithYearExample.java라는 Java 파일을 생성합니다.
패키지는 관련 클래스와 인터페이스 집합을 구성하는 네임스페이스입니다. LocalDate 클래스를 사용하려면 java.time.LocalDate 패키지를 임포트해야 합니다. 다음 코드를 WithYearExample.java 파일에 추가합니다.
import java.time.LocalDate;
이 단계에서는 of() 메서드를 사용하여 LocalDate 클래스의 인스턴스를 생성합니다. of() 메서드는 연도, 월, 일의 세 가지 인수를 받습니다. import 문 아래에 다음 코드를 추가합니다.
LocalDate date = LocalDate.of(2022, 1, 15);
System.out.println("Initial Date: " + date);
여기서는 날짜를 2022 년 1 월 15 일로 설정했습니다.
이 단계에서는 withYear() 메서드를 사용하여 LocalDate 인스턴스의 연도를 변경합니다. 3 단계 아래에 다음 코드를 추가합니다.
LocalDate newDate = date.withYear(2030); // Set year as 2030
System.out.println("New Date: " + newDate);
여기서는 새로운 변수 newDate를 생성하고 withYear() 메서드를 사용하여 연도를 2030 으로 설정합니다.
현재 LocalDate 인스턴스가 새로운 연도에 유효하지 않은 월별 일수를 가지고 있다면, withYear() 메서드는 월별 일수 값을 해당 월의 마지막 유효한 일수로 조정합니다. 4 단계 아래에 다음 코드를 추가합니다.
LocalDate dateWithInvalidDayOfMonth = LocalDate.of(2021, 2, 31);
LocalDate newDateWithAdjustedDayOfMonth = dateWithInvalidDayOfMonth.withYear(2022);
System.out.println("Old Date: " + dateWithInvalidDayOfMonth + "\nNew Date: " + newDateWithAdjustedDayOfMonth);
여기서는 유효하지 않은 월별 일수, 즉 존재하지 않는 2021 년 2 월 31 일의 날짜를 설정합니다. 그런 다음 withYear() 메서드를 적용하여 연도를 2022 년으로 변경합니다. 2022 년은 윤년이 아니고 2 월은 28 일까지 있으므로, 월별 일수는 28 일로 조정됩니다. 이는 2 월의 마지막 유효한 날짜입니다.
프로그램을 컴파일하고 실행하려면 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.
javac WithYearExample.java && java WithYearExample
위 명령을 실행한 후 프로그램의 출력은 다음과 같아야 합니다.
Initial Date: 2022-01-15
New Date: 2030-01-15
Old Date: 2021-02-31
New Date: 2022-02-28
이 랩에서는 Java 의 LocalDate 클래스의 withYear() 메서드를 사용하여 지정된 연도의 날짜를 얻는 방법을 배웠습니다. 또한 withYear() 메서드를 사용할 때 유효하지 않은 월별 일수를 처리하는 방법도 배웠습니다. 이러한 단계를 따르면 이제 withYear() 메서드를 사용하여 Java 프로그램에서 LocalDate 인스턴스를 효과적으로 사용할 수 있습니다.