1. 개요
이 짧은 사용방법(예제)에서는 Java에서 주어진 날짜 에서 연도 , 월, 일 을 추출하는 방법을 배웁니다.
레거시 java.util.Date 클래스를 사용하고 Java 8의 새로운 날짜-시간 라이브러리를 사용하여 이러한 값을 추출하는 방법에 대해 설명합니다.
Java 8에서는 여러 가지 이유로 완전히 새로운 날짜 및 시간 라이브러리가 도입되었습니다 . 다른 이점 외에도 새 라이브러리는 주어진 Date 에서 Year , Month , Day 등을 추출하는 것과 같은 작업을 위한 더 나은 API를 제공합니다 .
새로운 날짜-시간 라이브러리에 대한 자세한 내용은 여기를 참조하십시오 .
2. LocalDate 사용
새로운 java.time 패키지에는 Date 를 나타내는 데 사용할 수 있는 여러 클래스가 포함되어 있습니다 .
각 클래스는 Date 외에 저장하는 추가 정보에 따라 다릅니다 .
기본 LocalDate 에는 날짜 정보만 포함되고 LocalDateTime 에는 날짜 및 시간 정보가 포함됩니다.
마찬가지로 OffsetDateTime 및 ZonedDateTime 과 같은 고급 클래스에는 각각 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 , Month 및 Day 의 정수 값을 추출하는 방법을 살펴보았습니다 .
이전 Date 및 Calendar 클래스와 Java8의 새로운 날짜-시간 라이브러리를 사용하여 이러한 값을 추출하는 방법을 배웠습니다 .
이 기사에서 사용된 스니펫의 전체 소스 코드는 Github에서 사용할 수 있습니다 .