Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP에서 날짜 형식을 지정하는 방법: fmt:formatDate 태그 완벽 가이드

JSTL(JSP Standard Tag Library)에서 제공하는 <fmt:formatDate> 태그는 다양한 방식으로 날짜와 시간을 원하는 형식으로 출력할 수 있게 해주는 강력한 도구입니다. 이 태그를 활용하면 복잡한 자바 코드 없이도 JSP 페이지에서 손쉽게 날짜 형식을 지정할 수 있습니다.

<fmt:formatDate> 태그의 주요 속성

<fmt:formatDate> 태그는 다음과 같은 속성들을 지원합니다.

속성설명필수 여부기본값
value표시할 날짜 값필수없음
typeDATE(날짜), TIME(시간), BOTH(둘 다) 중 선택선택date
dateStyleFULL, LONG, MEDIUM, SHORT, DEFAULT 중 선택선택default
timeStyleFULL, LONG, MEDIUM, SHORT, DEFAULT 중 선택선택default
pattern사용자 지정 형식 패턴선택없음
timeZone표시할 날짜의 시간대선택기본 시간대
var형식화된 날짜를 저장할 변수명선택페이지에 바로 출력
scope형식화된 날짜를 저장할 변수의 범위선택page

pattern 속성으로 정밀한 날짜 형식 지정하기

pattern 속성을 사용하면 날짜와 시간을 훨씬 더 세밀하게 제어할 수 있습니다. 패턴에 사용되는 주요 코드는 다음과 같습니다.

코드의미예시
G연대 표시AD
y연도2002
MApril & 04
d일(월 기준)20
h시간(12시간제)12
H시간(24시간제)0
m45
s52
S밀리초970
E요일Tuesday
D연중 몇 번째 날180
F월에서 몇 번째 해당 요일인지2 (해당 월의 두 번째 수요일)
w연중 몇 번째 주27
W월중 몇 번째 주2
a오전/오후 표시PM
k시간(1~24)24
K시간(0~11)0
z시간대Central Standard Time
'텍스트 이스케이프 처리-
''작은따옴표 출력-

사용 예제

다음은 <fmt:formatDate> 태그를 다양하게 활용한 JSP 예제 코드입니다.

<%@ taglib prefix = "c" uri = "https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix = "fmt" uri = "https://java.sun.com/jsp/jstl/fmt" %>
<html>
   <head>
      <title>JSTL fmt:formatDate Tag</title>
   </head>
   <body>
      <h3>날짜 형식:</h3>
      <c:set var = "now" value = "<% = new java.util.Date()%>" />
      <p>Formatted Date (1): <fmt:formatDate type = "time" value = "${now}" /></p>
      <p>Formatted Date (2): <fmt:formatDate type = "date" value = "${now}" /></p>
      <p>Formatted Date (3): <fmt:formatDate type = "both" value = "${now}" /></p>
      <p>Formatted Date (4): <fmt:formatDate type = "both" dateStyle = "short" timeStyle = "short" value = "${now}" /></p>
      <p>Formatted Date (5): <fmt:formatDate type = "both" dateStyle = "medium" timeStyle = "medium" value = "${now}" /></p>
      <p>Formatted Date (6): <fmt:formatDate type = "both" dateStyle = "long" timeStyle = "long" value = "${now}" /></p>
      <p>Formatted Date (7): <fmt:formatDate pattern = "yyyy-MM-dd" value = "${now}" /></p>
   </body>
</html>

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

날짜 형식:
Formatted Date (1): 14:27:18
Formatted Date (2): 23-Sep-2010
Formatted Date (3): 23-Sep-2010 14:27:18
Formatted Date (4): 23/09/10 14:27
Formatted Date (5): 23-Sep-2010 14:27:18
Formatted Date (6): 23 September 2010 14:27:18 GST
Formatted Date (7): 2010-09-23

정리

<fmt:formatDate> 태그는 type, dateStyle, timeStyle 속성만으로도 기본적인 날짜 형식을 지정할 수 있으며, pattern 속성을 조합하면 yyyy-MM-dd처럼 원하는 형태로 자유롭게 커스터마이징할 수 있습니다. 실무에서는 국제화(i18n) 처리나 사용자 맞춤형 화면 구성 시 특히 유용하게 활용됩니다.