Java

LocalDate Class (연, 월, 일)

똑똑한망치 2023. 11. 14. 17:27
728x90
반응형

1. java.time 패키지


  • Java에서 날짜와 시간을 다루는 클래스들이 담긴 패키지
  • 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는 불변객체이다. 따라서 속성값(연, 월, 일)을 바꾸려면 새로운 객체를 생성하거나 기존 객체에 재할당 해야한다.

 

- 특정 값으로 바꾸기

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

 

 

 

- 상대값으로 바꾸기

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이다.
반응형

'Java' 카테고리의 다른 글

[Java] parseInt() VS valueOf() 차이점  (0) 2024.02.25
[Java] 객체지향 언어의 특징  (0) 2023.12.14
[Java] Vector  (0) 2023.11.21
[Java] Map 의 getOrDefault 사용법  (0) 2023.11.20
[Java] int와 Integer의 차이  (0) 2023.11.15