HTML(jsp)

[JSP] 날짜형식 JSTL로 파싱하기

육지후 2022. 12. 28. 04:39

통합검색 API 진행하면서 JSON으로 떨어진 특정형식의 날짜를 파싱을 해야할 일이 생겼다.

부득이하게 화면에서 날짜포맷을 만져야 할 일이 생겼다.

우선, 숫자형식의 20221228 이란 값이 있을 때 JSP 에서는 편리(?)하게 컨트롤 할 수 있다.

먼저 해당 값을 DateFormat 으로 바꾸고, 다시 파싱하는 것이다.

<fmt:parseDate var="parse" value="${data.target}" pattern="yyyyMMdd" />
<fmt:formatDate var="parseDate" value="${parse}" pattern="yyyy-MM-dd" />

${data.target} 안에 20221228이 들어있으면

이렇게 parse 라는 변수에 데이트타입으로 변환 된 값을 할당하고 패턴을 지정한 뒤

다시 원하는 패턴으로 바꾼 뒤 사용가능.

<fmt:parseDate var="parse" value="${fn:replace(fn:replace(data.target,'<b>',''), '</b>' ,'')}" pattern="yyyyMMdd" />
<fmt:formatDate var="parseDate" value="${parse}" pattern="yyyy-MM-dd" />

이런식으로 fn:length, fn:replace 등 응용가능.

 

스크립트로 할걸 그랬나..?