해결된 질문
작성
·
186
·
수정됨
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
안녕하세요. 궁금중이 생겨서 질문을 남깁니다.
Period클래스를 이용해서 지정 범위 의 시간을 구한 것을,
다시 LocaDate로 값을 바꾸고 싶을때,
아래의 코드처럼 코딩을 하였는데요,
LocalDate startDate = LocalDate.of(2024, 1, 1);
LocalDate endDate = LocalDate.of(2024, 11, 21);
Period period = period.between(startDate, endDate);
LocalDate localDate = LocalDate.of(period.getYears(),period.getMonths(),period.getDays());
이런 코드 스타일이라고 할까요? 이렇게 코드 짜는게 맞나요?
(TestBetween클래스 코드를 좀 수정 한 것입니다.)
답변 부탁 드립니다.
(추가) - 코드 변경 + 내용 수정
글을 다시 보니 글이 너무 이상하네요. 좀 죄송합니다.
저가 너무 서포터즈님 들의 도움만 바라는 것인가? 라는 생각도 좀 드는데.. 이것도 지적해주시면 감사하겠습니다.
답변 1
1
안녕하세요. 생각하는자님, 공식 서포터즈 y2gcdoer입니다.
어떤 상황을 생각하신 것인지는 모르겠습니다!
다만 Period
를 LocalDate
로 바꾸신다는 말씀은 선을 점 하나로 나타내보겠다는 말씀과 같다고 생각합니다
아마 짜주신 예제 코드를 직접 돌려보시면 답을 찾으실 수 있으실거라 생각합니다!
여담으로 추가 질문에 대해 말씀드리자면, 수강생 분들이 하신 질문에 따라 대답이 달라질 것 같습니다. 정말로 서포터즈들이나 영한님의 지식이 필요한 답변이 있는 반면, 스스로 코드를 실행해봤을 때 더 쉽고 빠르게 답을 얻을 수 있는 질문들이 있습니다. 후자의 질문 유형은 스스로 코드를 짜보는 재미(?)도 느끼면서, 영한님께서 학습의 3단계에서 늘 말씀하시는 것처럼 체화할 수 있기 때문입니다.
감사합니다.
y2gcdoer님 period를 localDate에 넣어서 하는것에 관련된 거여서 여기에 글을 남깁니다.
위에 글은 저가 TestBetween에 있는 System.out.println("남은 기간: " + period.getYears() +"년 " + period.getMonths() + "개월 " + period.getDays() + "일");
이 코드가 좀 귀찮아져서 "포메팅 패턴 으로 넣어보자" 하다가 생각한 방법입니다.
그래서 코드가
이렇게 되는데 이렇게 "포메팅" 을 해도 되는지요?
아니면 System.out.println("남은 기간: " + period.getYears() +"년 " + period.getMonths() + "개월 " + period.getDays() + "일");
이렇게 해야 하는것인가요?
답변 부탁 드립니다.
그런식으로 포맷팅을 하셔도 됩니다!
추가로 포맷팅할 때는 기본적으로 자바에서 각 날짜 및 시간 단위에 대한 기호 관례가 있습니다!
다음 링크를 참고해보시면 문자열로 포맷팅할 때 필요한 pattern letter에 대해 더 자세히 알 수 있으실 거라 생각합니다 🙂
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/time/format/DateTimeFormatter.html
선을 점으로 바꾼다… 정말 말도 안되는 일을 하려고 했었네요. y2gcdoer님 좋은 답변 감사합니다.