프로젝트를 하면서 LocalDate를 계산해줘야할 일이 생겼다
장 본 목록에 대해 구매날짜, 유통기한날짜를 넣어야하는데 채소나 고기같은 경우 유통기한이 정확히 적혀져있는게 아니라서 임의로 고기는 구매날짜 + 2일 / 채소는 구매날짜 + 7일로 유통기한날짜를 넣어주기로 했다
내가 장본목록을 저장하는 기능을 맡아서 이를 해야했는데
처음에는 LocalDate에서 '일'을 뽑아서 더해주고 만약 '월'이 넘어간다면 그걸 계산해주는 방식으로 하고 있었는데 28일인 달, 30일인 달, 31일인 달 등 나누다보니 머리가 살짝 아파왔다 쉬는 시간에 반친구한테 이러이러한걸 하고있다고 얘기하고있었는데 다른 반친구가 지나가면서 그거 자바가 알아서 해주는데? 라고 했다 그래서 바로 검색을 했더니 진짜 그런게 있는거다,,,,,,,,!!!!
그렇게 알게 된 LocalDate 날짜 더하기
plusDays()
- 이 메서드를 호출한 LocalDate 객체에 일(day)이 더해진 LocalDate 객체를 반환
아주아주 간편하고 놀라운 메서드👍👍
물론 빼는거도 간편하게 가능하다
그렇게 해서 완성을 할 수 있었다
categoryId가 2인건 채소, 3인건 고기다!!
public PurchaseHistory save(PurchaseHistory purchaseHistory) {
if(purchaseHistory.getCategoryId() == 2) {
purchaseHistory.setExpirationDate(purchaseHistory.getPurchaseDate().plusDays(7));
} else if(purchaseHistory.getCategoryId() == 3) {
purchaseHistory.setExpirationDate(purchaseHistory.getPurchaseDate().plusDays(2));
}
return refridgeManagementRepository.save(purchaseHistory);
}
쉽게 되니까 재밌다😎😎