jstl 에서 dateformat으로 표현할때는 <tmf:formatDate>를 사용합니다.

시간을 나타낼때는 보통 다음과 같이 24시간제를 자주 사용하곤 했습니다.

표현법은 java 의 SimpleDateFormat 을 따릅니다.

<fmt:formatDate value="${a.regDate}" pattern="yyyy-MM-dd KK:mm:ss"/>

 or

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

 

하지만 위의 표현은 틀린것이라는 것을 최근에 알았습니다.

0~23시까지 나타내는 HH를 사용하던 버릇 그대로 1~24시까지 나타낼때도 대문자 KK를 그대로 사용하고 있었는데, 이게 대문자가 아닌 소문자 k라는 것을 최근에 알았던 것입니다.

그런데 저만 그런것이 아닌것 같습니다. 검색해서 찾아보면 몇몇 블로그에서 서로 다르게 가이드 하고 있습니다.

 

직접 두번, 세번 확인한 결과

 

h : 1~12

H : 0~ 23

k : 1~ 24

K :0 ~11

 

입니다.

 

다음 표는 java 1.4.2 정식문서에 있는 것입니다.

 

Letter Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 1996; 96
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day in week Text Tuesday; Tue
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800