[Java] LocalDate Class (연, 월, 일)

0
post-custom-banner

1. java.time 패키지

  • 자바에서 날짜와 시간을 다루는 클래스들이 담긴 패키지
  • Calendar와 Date의 단점을 보완하여 JDK 1.8 버전에 추가되었습니다.
  • 5개의 클래스가 존재합니다.
    LocalDate : 로컬 날짜 클래스
    LocalTime : 로컬 시간 클래스
    LocalDateTime : 로컬 날짜 및 시간 클래스 (Localdate + LocalTime)
    ZonedDateTime : 특정 타임존(TimeZone)의 날짜와 시간 클래스
    Instant : 특정 시점의 Time-Stamp 클래스

1. LocalDate 클래스

(1) LocalDate 생성

  • now() : 현재 날짜와 시간을 반환합니다.
  • of() : 매개변수로 값을 지정할 수 있습니다.
LocalDate date1 = LocalDate.now();  //현재 날짜와 시간
LocalDate date2 = LocalDate.of(2023, 11, 06); //매개변수로 값 지정

(2) 주요 get 메소드 종류

date1.getYear(); //년도(2023)를 반환

date1.getMonthValue(); //월(11)을 반환

date1.getDayOfMonth(); //일(6)을 반환
`
date1.getHour(); //시간(21)을 반환

date1.getMinute(); // 분(55)을 반환

date1.getSecond(); //초(38)을 반환

date1.getNano(); //나노초(805075800)를 반환

(3) 날짜 변경 메소드

  • LocalDate는 불변객체입니다. 따라서 속성값(연,월,일)을 바꾸려면 새로운 객체를 생성하거나 기존 객체에 재할당 해야합니다.
  1. 특정 값으로 바꾸기
date2 = date2.withYear(2030); //date2 객체에 재할당, 2030-11-06
date2 = date2.withMonth(12); // 2030-12-06
date2 = date2.withDayOfMonth(25); // 2030-12-25

// 속성 연쇄적으로 변경
date2 = date2.withYear(2040).withMonth(10).withDayOfMonth(10); //2040-10-10
  1. 상대값으로 바꾸기
date2 = date2.plusYears(1); // 2041-10-10
date2 = date2.plusMonths(1); //2041-11-10
date2 = date2.plusWeeks(1); //2041-11-17
date2 = date2.plusWeeks(1); //2041-11-18

(4) 요일 구하기 (숫자)

//1. LocalDate 생성
LocalDate date = LocalDate.of(2023,12,25);

//2. DayOfWeek 객체 구하기
DayOfWeek dayOfWeek = date.getDayOfWeek();

//3. 숫자 요일 구하기
int dayOfWeekNumber = dayOfWeek.getValue();
월요일이 1, 화요일이 2, ... 일요일이 7이다.
post-custom-banner

0개의 댓글