java에서 제공하는 클래스중 날짜, 시간 정보를 제공해주는 클래스가 존재한다. 크게 3가지 종류가 있는데 다음과 같다

구분		용도
---------------------------------------------------------------
LocalDate	날짜 정보만 필요할 때 사용
LocalTime	시간 정보만 필요할 때 사용
LocalDateTime	날짜 정보와 시간 정보 둘다 필요할 때 사용

(1) LocalDate

// 로컬 컴퓨터의 현재 날짜 정보를 저장한 LocalDate 객체를 리턴
LocalDate curDate = LocalDate.now(); // result : 2022-11-07;

// 파라미터로 주어진 날짜 정보를 저장한 LocalDate 객체를 리턴
LocalDate newDate = LocalDate.of(2022,11,06) // result : 2022-11-06

(2) LocalTime

// 로컬 컴퓨터의 현재 시간 정보를 저장한 LocalDate 객체를 리턴. 
LocalTime currentTime = LocalTime.now();	// reuslt : 18:57:29.670239400

// 파라미터로 주어진 시간 정보를 저장한 LocalTime 객체를 리턴.
LocalTime targetTime = LocalTime.of(22,50,55); 	// result : 22:50:55
// 끝에 4번째 매개변수는 nanoSecond 인데 선택 값이다 굳이 쓰지 않아도 된다.

(3) LocalDateTime

// 로컬 컴퓨터의 현재 날짜와 시간 정보
LocalDateTime currentDateTime = LocalDateTime.now();	// result : 2022-11-07T18:57:29.670239400

LocalDateTime targetDateTime = LocalDateTime.of(2019, 11, 12, 12, 32, 22);
// result : 2022-11-06T13:22:57
// 여기도 second,nanoSecond 매개변수는 필수가 아닌 선택입니다.

- 날짜 더하기

  LocalDateTime에서는 몇일 후, 몇년 후 등 코드에서 사용할만한 날짜가 있기때문에, 메소드를 활용하여 날짜를 더하거나 빼줄 수 있다. 사용할 수 있는 메소드는 다음과 같다.

method			description
--------------------------------------------------------------------------------------
plusYears()		년
minusYears()		년
plusMonths()		개월
minusMonths()		개월
plusWeeks()		주
minusWeeks()		주
plusDays()		날짜
minusDays()		날짜
plusHours()		시
minusHours()		시
plusMinutes()		분
minusMinutes()		분
plusSeconds()		초
minusSeconds()		초
plusNanos()		밀리초
minusNanos()		밀리초

 

(4) 날짜 표기형식 변경

 DateTimeFormmater 클래스를 활용해 다양한 표기형식을 표현할 수 있다. 만약 내가 원하는 형식이 있다면 임의의 형식을 다음 메소드를 통해 만들 수 있다

DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String myDate = newFormatter.format(LocalDate.now());
System.out.println(myDate); // result: 2022/11/07

 yyyy에는 년도, MM에는 월, dd에는 날짜를 대입해준다.

+ Recent posts