[JSTL] 날짜 차이 계산하기

현재날짜와 db에서 가져오는 날짜 차이를 계산하고 싶었다.

코드

구글링끝에 드디어 성공~!!
now는 오늘날짜이고 list.dbDt는 db에서 가져온 날짜값이다.
여기서 중요한 점은 parseNumber할때 .time을 해줘야지 제대로 계산된다는 점이다.

1
2
3
4
5
<jsp:useBean id="now" class="java.util.Date" />
<fmt:parseNumber value="${now.time / (1000*60*60*24)}" integerOnly="true" var="nowfmtTime" scope="request"/>
<fmt:parseNumber value="${list.dbDt.time / (1000*60*60*24)}" integerOnly="true" var="dbDtParse" scope="request"/>

${dbDtParse - nowfmtTime }

예를 들어 now가 2022-08-18이고 list.dbDt가 2022-08-19이면 ${dbDtParse - nowfmtTime }값은 0이다.
테스트해보면 아래와 같이 값을 계산할 수 있다.

now list.dbDt ${dbDtParse - nowfmtTime }
2022-08-18 2022-08-18 -1
2022-08-18 2022-08-18 0
2022-08-18 2022-08-20 1
2022-08-18 2022-08-23 4

관련