본문 바로가기
프로젝트/SNS프로젝트 코딩

게시글 등록일 설정

by dev_jisu 2023. 3. 15.

타임 리스트 생성 

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>

댓글