Java 월말 plusMonths

4636 단어 Java

맞아요. 월말plusMonths는 어떻게 됐어요?


2월 31일은 존재하지 않지만 1/31에 plusMonths() 한 달이면 어떻게 될지 궁금해서 조사해 봤어요.
문서
이 메서드는 세 단계의 월 필드와 지정된 수를 추가합니다.
1. 입력한 월 수를 월 필드에 추가
2. 결과 날짜가 올바르지 않은지 확인
3. 필요에 따라 "월 일"을 마지막 유효 날짜로 조정
예를 들어, 1월을 2007-03-31에 더하면 유효하지 않은 날짜인 2007-04-31이 발생합니다.잘못된 결과를 되돌려 주지 않고 그 달의 마지막 유효 날짜인 2007-04-30을 선택하십시오.
우선 달을 덧붙이고, 덧붙인 달에 해당하는 날짜가 있는지 검사한다.만약 상응하는 날짜가 없다면, 달의 마지막 날로 돌아간다.

확인

LocalDate date = LocalDate.of(2020,1,31);
System.out.println(date.plusMonths(1));
// 2020-02-29

LocalDate date = LocalDate.of(2020,1,30);
System.out.println(date.plusMonths(1));
// 2020-02-29

LocalDate date = LocalDate.of(2020,1,29);
System.out.println(date.plusMonths(1));
// 2020-02-29

LocalDate date = LocalDate.of(2020,1,28);
System.out.println(date.plusMonths(1));
// 2020-02-28
일치하지 않는 날짜에 대해 유효한 날짜가 되돌아왔습니다

잡담

plusMonths 그다음minusMonths 어떻게 될까요?
LocalDate date = LocalDate.of(2020,1,31);
System.out.println(date.plusMonths(1).minusMonths(1));
// 2020-01-29
plusMonths는 2020-02-292020-02-29minusMonths이고 결과는 2020-01-29이다.

좋은 웹페이지 즐겨찾기