1. 개요

이 짧은 사용방법(예제)에서는 Java에서 주어진 날짜  에서 연도 , 월,을  추출하는 방법을 배웁니다.

레거시 java.util.Date 클래스를 사용하고 Java 8의 새로운 날짜-시간 라이브러리를 사용하여 이러한 값을 추출하는 방법에 대해 설명합니다.

Java 8에서는 여러 가지 이유로 완전히 새로운 날짜 및 시간 라이브러리가 도입되었습니다  . 다른 이점 외에도 새 라이브러리는 주어진 Date 에서 Year , Month , Day 등을 추출하는 것과 같은 작업을 위한 더 나은 API를 제공합니다 .

새로운 날짜-시간 라이브러리에 대한 자세한 내용은 여기를 참조하십시오 .

2. LocalDate 사용

새로운 java.time 패키지에는 Date 를 나타내는 데 사용할 수 있는 여러 클래스가 포함되어 있습니다 .

각 클래스는 Date 외에 저장하는 추가 정보에 따라 다릅니다 .

기본  LocalDate  에는 날짜 정보만 포함되고 LocalDateTime 에는 날짜 및 시간 정보가 포함됩니다.

마찬가지로 OffsetDateTimeZonedDateTime 과 같은 고급 클래스에는 각각 UTC 와의 오프셋 및 시간대 에 대한 추가 정보가 포함되어 있습니다 .

어쨌든 이러한 모든 클래스는 연도, 월 및 일 정보를 추출하는 직접 메서드를 지원합니다.

localDate 라는 LocalDate  인스턴스 에서 정보를 추출하는 이러한 메서드를 살펴보겠습니다  .

2.1. 연도 얻기

연도 를 추출하기 위해 LocalDate 는 단순히  getYear  메서드를 제공합니다.

localDate.getYear();

2.2. 월 가져오기

마찬가지로  Month  를 추출하기 위해 getMonthValue  API를 사용합니다 .

localDate.getMonthValue();

Calendar 와 달리 LocalDate 의 월 은 1부터 인덱싱됩니다. 1월의 경우 1을 반환합니다.

2.3. 하루를 얻으십시오

마지막으로 Day 를 추출하기 위해 getDayOfMonth 메서드가 있습니다.

localDate.getDayOfMonth();

3. java.util.Date 사용

주어진 java.util.Date에 대해 Year , Month , Day  등과 같은 개별 필드를 추출 하기 위해 수행해야 하는 첫 번째 단계는 이를 Calendar 인스턴스로 변환하는 것입니다.

Date date = // the date instance
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

Calendar  인스턴스 가 있으면 get 메서드 를 직접 호출하고 추출하려는 특정 필드를 제공할 수 있습니다.

캘린더  에 있는 상수를 사용 하여 특정 필드를 추출할 수 있습니다.

3.1. 연도 얻기

연도 를 추출하려면  Calendar.YEAR 를 인수로 전달 하여 get  을  호출할 수 있습니다 .

calendar.get(Calendar.YEAR);

3.2. 월 가져오기

마찬가지로 월 을 추출하려면 Calendar.MONTH  를 인수로 전달 하여 get  을  호출할 수 있습니다 .

calendar.get(Calendar.MONTH);

Calendar  의 달은 인덱스가 0입니다. 1월의 경우 이 메서드는 0을 반환합니다.

3.3. 하루를 얻으십시오

마지막으로  날짜 를 추출하기 위해 Calendar.DAY_OF_MONTH  를 인수로 전달 하여 get  을  호출 합니다.

calendar.get(Calendar.DAY_OF_MONTH);

4. 결론

이 짧은 기사에서는 Java 의 Date 에서 Year , MonthDay 의 정수 값을 추출하는 방법을 살펴보았습니다 .

이전 DateCalendar 클래스와 Java8의 새로운 날짜-시간 라이브러리를 사용하여 이러한 값을 추출하는 방법을 배웠습니다 .

이 기사에서 사용된 스니펫의 전체 소스 코드는 Github에서 사용할 수 있습니다 .

Generic footer banner