[Aribnb] 년-월-일(yyyy-MM-dd) 형식으로 출력
❓ 문제상황
여행 예약 리스트 페이지에 체크인 날짜, 체크아웃 날짜가 'yyyy-MM-dd HH:mm:ss'으로 출력되었다. 당장은 시간까지는 필요가 없기 때문에 ''yyyy-MM-dd'으로 날짜 형식을 변환하고 싶었다.
❌ 기존코드
// 숙소를 예약했을 때
@PostMapping("/book/save")
public String bookComplete(BookedHomeSaveRequestDto requestDto, @LoginUser SessionUser user)
throws ParseException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
BookedHome bookedHome = BookedHome.builder()
.userid(user.getId())
.status(1)
.home(homeService.findById(requestDto.getId()))
.checkin(new Date(dateFormat.parse(requestDto.getCheckin()).getTime()))
.checkout(new Date(dateFormat.parse(requestDto.getCheckout()).getTime()))
.build();
homeService.addBookedHome(bookedHome);
return "redirect:/mypage/travel";
}
- new SimpleDateFormat("yyyy-MM-dd");
지정하고 싶은 날짜 형식을 생성했다.
- new Date(dateFormat.parse(requestDto.getCheckin()).getTime())
BookedHomeSaveRequestDto에 저장된 checkIn날짜(String)와 checkOut날짜(String)를 생성한 형식에 맞게 변환하고 날짜를 반환하여 Date 객체를 생성/저장하였다.
- 결과
'2021-11-03 00:00:00'과 같은 형식으로 출력되었다.
🔵 수정한 코드
// 숙소를 예약했을 때
@PostMapping("/book/save")
public String bookComplete(BookedHomeSaveRequestDto requestDto, @LoginUser SessionUser user)
throws ParseException {
LocalDate checkIn = LocalDate.parse(requestDto.getCheckin(), DateTimeFormatter.ofPattern("yyyy-MM-dd")); //체크인 날짜 형식 변환
LocalDate checkOut = LocalDate.parse(requestDto.getCheckout(), DateTimeFormatter.ofPattern("yyyy-MM-dd")); //체크인 날짜 형식 변환
BookedHome bookedHome = BookedHome.builder()
.userid(user.getId())
.status(1)
.home(homeService.findById(requestDto.getId()))
.checkin(checkIn)
.checkout(checkOut)
.build();
homeService.addBookedHome(bookedHome);
return "redirect:/mypage/travel";
}
- LocalDate.parse(requestDto.getCheckin(), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
BookedHomeSaveRequestDto에 저장된 checkIn날짜(String)와 checkOut날짜(String)를 'yyyy-MM-dd' 형식의 LocalDate 객체로 생성한다.
- .checkin(checkIn).checkout(checkOut)
BookedHome의 checkin, checkout필드의 타입을 기존과 동일하게 Date로 하면 똑같이 '2021-11-03 00:00:00'과 같은 형식으로 출력된다.
따라서 해당 필드의 타입을 LocalDate으로 변경해주었다.
🟢 출력된 결과
Author And Source
이 문제에 관하여([Aribnb] 년-월-일(yyyy-MM-dd) 형식으로 출력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ihj0043/Aribnb-년-월-일yyyy-MM-dd-형식으로-출력저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)