milano
2020-01-15 09:06:01
2
264

자바 코딩 질문이요 ㅠ


자바 기초 배우는 학습자입니다 ㅠ

자바에서 날짜API 부분을 학습중인데요.

2020년 1월 15일에 3개월 7일 후의 값을 아래 포맷된 형태로 출력하려는데요.

포맷된 날짜 형태가 2020년 1월 15일로 계속 출력되는데요..

제가 원하는건 2020년 4월 22일을 포맷 형태로 출력하고 싶거든요.

어떤 부분을 수정해야 원하는 값을 출력할 수 있을까요? ㅠ


public class myDate {
public static void main(String[] args) {
LocalDateTime assignedDate = LocalDateTime.of(2020,
1, 15, 9, 30);

System.
out.println(assignedDate
.plusMonths(
3)
.plusDays(
7)
);

String formattedDate = DateTimeFormatter.
ofPattern("yyyy M dd H mm")
.format(assignedDate);
System.
out.println(formattedDate);
}
}
0
  • 답변 2

  • 니르바나
    1k
    2020-01-15 09:11:56

    2020년 1월 15일로 입력하면 2020년 4월 22일이 나왔으면 좋겠다는 말씀이신가요..?

    이렇게 고치고 newassignedDate를 출력해보실래요?

    plusMonths가 새로운 객체를 리턴하는 형태로 구현되있는것 같습니다.

    LocalDateTime newassignedDate = assignedDate
    .plusMonths(
    3)
    .plusDays(
    7)
    );


    저도 정확한 구분법은 모르는데, 함수를 호출했을때

    그 객체를 바로 manipulate하는 경우와 새로운 객체를 만들어서 manipulate하고 새 객체를 리턴해주는 형태 두개로 나뉩니다.

    후자는 리턴값을 저장해주지 않으면 이후에 이전 객체를 출력해봐도 동일 값이 나오게 되겠죠?

    구분해서 쓰셔야해요.

  • milano
    2020-01-15 09:21:48

    넘 감사해요 ㅠ 설명해주신대로 하니까 원하는 값을 출력할 수 있었어요!!

    수고하세요 :)

  • 로그인을 하시면 답변을 등록할 수 있습니다.