반응형

 

DB에 저장된 날짜를 가져올 때 웬만하면 날짜 포맷을 바꿔서 출력해야 합니다.

 

날짜 형식을 바꾸는 방법은 날짜의 타입에 따라 다른데 이때 사용하는 JSTL 태그는 아래 코드와 같습니다.

 

날짜(Date, LocalDateTime 등) 타입인 경우

(1) <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

(2) <fmt:formatDate value="${regDate}" pattern="yyyy-MM-dd HH:mm:ss"/>

 

JSTL 중 fmt 태그를 사용하기 위한 스크립틀릿(1)을 추가하고 아래 있는 태그 형식(2)으로 작성하면 됩니다.

 

별도로 <c:out value=""/>에 넣을 필요 없이 바로 출력됩니다.

 

 

주의할 부분은 fmt:formatDate의 value 값으로 들어갈 수 있는 타입은 날짜 타입만 허용되기 때문에 문자열로 저장된 날짜를 value에 넣을 경우 에러가 발생합니다.

 

 

문자열(String) 타입인 경우

(1) <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

(2) <c:out value="${fn:substring(regDate, 0, 16)}"/>

 

JSTL 메소드를 사용하기 위한 스크립틀릿(1)을 추가하고 아래 있는 태그 형식(2)으로 작성하면 됩니다.

 

JSTL의 메소드 처리는 value="" 안에서 이뤄지기 때문에 (2)처럼 <c:out/> 태그의 value="" 안에 작성해야 화면에 출력됩니다.

 

${fn:substring(데이터, 시작 인덱스, 마지막 인덱스 + 1)} 이렇게 작성하면 첫번째 매개변수로 들어온 데이터를 자를 수 있습니다.

 

 

예를 들어, ${fn:substring('2021-10-15 12:10:15)', 0, 16)}

 

이렇게 작성하면 '2021-10-15 12:10:15의 0번 인덱스에서 16번 바로 전 인덱스(15번 인덱스)까지 출력하여 결과는 2021-10-15 12:10가 출력됩니다.

반응형

+ Recent posts