자바(Java)

자바 오늘 한달전 날짜 localdate 자바8

xemaker 2022. 11. 29. 15:01

자바 오늘 한달전 날짜 localdate 를 사용해서 알아보자.

자바 날짜는 자바 8 이전, 이후로 나뉘는데 여기서는 자바 8 이후로 알아본다.

LocalDate now=LocalDate.now();

LocalDate oneMonthAgo = now.minusMonths(1);

이클립스 에서 now. 찍어보면 minus plus 등 수 많은 날짜 관련 메소드들이 나오니 원하는것을 선택해서 날짜계산을 하면 된다.

추가로 immutable이라서 날짜 now는 minus, plus를 해도 변동되지 않는다.

때문에 minus, plus를 아무리해도 그것을 받아주는 변수가 없다면 무용지물이다.

예를들어 now.minusMonths(1) 만 하면 now값은 변하지 않고 변한 값을 사용하고 싶으면

LocalDate oneMonthAgo = now.minusMonths(1);

이렇게 변한값을 받아주는 변수가 있어야 한다.

또한 메소드 체이닝을 제공한다.

메소드 체이닝도 마찬가지로 now에 아무리 많은 메소드를 붙여도 받아주는 변수가 없으면 의미 없다.

immutable이기 때문이다.

날짜에 포맷을 주고 싶으면

DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyyMM");

String ago=oneMonthAgo.format(formatter);

이렇게 포맷도 줄 수 있다.