JSTL 날짜 포맷 변경 방법
흔히 말하는 JSTL은 JSTL과 EL를 합친 단어로 사용되고 있습니다. JSTL에 대한 간략한 소개 먼저 하죠!
JSTL은 JavaServer Pages Standard Tag Library, 즉 자바서버 페이지 표준 태그 라이브러리이며,
XML 데이터 처리와 조건문, 반복문 등을 처리합니다.
사용 예)
<c:out></c:out>
<c:forEach var > </c:forEach>
EL은 Expression Language, 즉 표준 언어라고 불리며, 자바코드를 사용했던 모든 곳에 EL이 사용 가능합니다.
EL을 사용하면 값이 없거나 형 변환 등에 신결 쓸 필요 없이 서버로 전송해서 형변환 없이 사용가능합니다.
사용 예)
${resultMap.Member_date}
<%=Member_date%>
그럼 JSTL로 날짜를 변경하는 방법에 대해 이야기하겠습니다.
우선, JSP 상단에 날짜변경에 사용할 라이브러리를 추가해줍니다.
1
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
cs |
우선 날짜 포맷을 변경하려면 타입이 Date형이여야 합니다.
즉, String형이면 Date형으로 바꿔줘야하고
Date형이면 그냥 사용하면 됩니다.
String형 변경방법 (String > Date)
1
2
|
<fmt:parseDate value="${date}" var="dateValue" pattern="yyyyMMdd"/>
<fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd"/> |
cs |
순서는 fmt:parseDate로 String에서 Date형으로 바꾸는 작업을 하고,
fmt:formatDate로 Date형을 원하는 패턴으로 변경하면 됩니다.
fmt:parseDate에서 Value는 컨트롤러에서 받은 Model값을 넣어주면 되고 var는 fmt:formatDate의 value에 들어갈 값(변수)를 넣어주고 pattern은 String의 날짜 형태를 작성합니다.
fmt:formatDate에서 value는 fmt:parseDate의 var값을 넣어주고 pattern은 우리 원하는변경하고 싶은 날짜 형태를 넣으면 됩니다!
여기서 주의해야할 점은 String 형태가 2020년 05월 01일인데 위처럼 패턴을 ‘yyyyMMdd’로 작성하면 에러가 납니다…저는 여기서 좀 헤맸습니다..
만약, 2020년 05월 01일로 사용할 거면 패턴을 ‘yyyy년MM월dd일’ 로 작성을 해야 적용이 가능합니다.
사용 예)
${data}에 String 형태의 2021년 07월 15일이란 날짜의 값이 있다고 가정합니다.
1
|
<fmt:parseDate value="${date}" var="dateValue" pattern="yyyy년MM월dd일"/>
|
cs |
<p><fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd"/></p>
값 : 2021-07-15
Date형 변경 방법
1
|
<fmt:formatDate value="${date}" pattern="yyyy-MM-dd"/>
|
cs |
fmt:formatDate는 위에서 이야기한듯이 value는 fmt:parseDate의 var값을 넣어주고 pattern은 우리 원하는변경하고 싶은 날짜 형태를 넣으면 됩니다!
pattern형태를
pattern="yyyy.MM.dd"
pattern="yyyy/MM/dd"
pattern="MM-dd"
pattern="yyyy-MM-dd HH:mm:ss"
이렇게 원하는 대로 변경해주시면 됩니다 :)
'JAVA' 카테고리의 다른 글
서블릿의 개념! (0) | 2020.06.21 |
---|---|
쿠키와 세션의 차이! (0) | 2020.06.19 |
JAVA 개념 정리 2탄 (0) | 2020.06.05 |
JAVA 개념 정리 1탄 (0) | 2020.06.04 |
[JAVA] 객체지향프로그래밍 OOP (Object Oriented Programming) (0) | 2020.04.05 |
댓글