타임 리스트 생성
Date 타입을 LocalDate 타입으로 전환
- Date -> Instant
- Instant -> ZonedDateTime
- ZonedDateTime -> LocalDate
두 날짜의 간격을 알기 위해 period 타입을 사용
현재시간과 게시글의 indate에 기록된 시간을 비교
후 IF 문을 사용하여 getYears가 0이 아니면 년,월,일 이 나오게 0이면 월 을 확인해 월,일 월도 0이면 일수만 나오게 해서
timeList에 주입
List<String> time = new ArrayList<>();
for (BoardVO vo : newBoardList) {
LocalDate boarDate = vo.getInDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Period btn = Period.between(boarDate, LocalDate.now());
String btnTime;
if (btn.getYears() != 0) {
btnTime = btn.getYears() + "년" + btn.getMonths() + "월" + btn.getDays() + "일 전";
} else if (btn.getMonths() != 0) {
btnTime = btn.getMonths() + "월" + btn.getDays() + "일 전";
} else {
btnTime = btn.getDays() + "일 전";
}
<HOME.JSP>
jstl 사용 c;forEach 문을 사용하여 Status로 게시글 순서대로 time을 배포
<c:forEach items="${newBoardList}" var="board" varStatus="status">
<div class="timer">${time[status.index]}</div>
'프로젝트 > SNS프로젝트 코딩' 카테고리의 다른 글
일반게시글과 섞어서 광고 글을 넣는 방법 (0) | 2023.03.15 |
---|
댓글