Please Enable JavaScript!
Gon[ Enable JavaScript ]

KST 표준시간를 원하는 시간포맷으로 바꾸기

자바(JAVA)
반응형
SAP Interface 를 하다보니 서버마다 보내오는 시간 포맷이 틀릴때가 있다.
이것을 웹에서 공통으로 맞춰줘야하는 난감한 상황이 발생하는데 다른 표준에 대해선 쉽게 바꾸었다.
근데 유독 KST 이놈이 속을 썩여서 몇자 적어본다.
// 함수
public String trancKST(String kst){
  String strDate = null;
  try {
   /**
    * 여기서 중요한데 객체생성시 파라미터 값으로 KST 표준 포맷 형태를 제대로
    * 넘기지 않으면 제대로 값을 받아오지 못한다. 이것때문에 시간이 좀 걸렸는데 위 내용을
    * 참조하기 바란다.
    */
   SimpleDateFormat recvSimpleFormat = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
   
   /** 여기에 원하는 포맷을 넣어주면 된다 */
   SimpleDateFormat tranSimpleFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.KOREA);
   
   Date data = recvSimpleFormat.parse(kst);
   strDate = tranSimpleFormat.format(data);
  } catch (ParseException e) {
   e.printStackTrace();
  }
  return strDate;
 }

SimpleDateFormat 클래스는 일자의 포맷과 해석을 로케일을 고려해 실시하기 위한 구상 클래스이다.

문자 일자 또는 시각의 컴퍼넌트 표시
G 기원 Text AD
y 1996; 96
M July; Jul; 07
w 해에 있어서의 주 수치 27
W 달에 있어서의 주 수치 2
D 해에 있어서의 날 수치 189
d 달에 있어서의 날 수치 10
F 달에 있어서의 요일 수치 2
E 요일 Text Tuesday; Tue
a 오전/오후 Text PM
H 하루에 있어서의 때 (0 ~ 23) 수치 0
k 하루에 있어서의 때 (1 ~ 24) 수치 24
K 오전/오후때 (0 ~ 11) 수치 0
h 오전/오후때 (1 ~ 12) 수치 12
m 수치 30
s 수치 55
S 밀리 세컨드 수치 978
z 타임 존 일반적인 타임 존 Pacific Standard Time; PST; GMT-08:00
Z 타임 존 RFC 822 타임 존 -0800

위의 포맷문자로 사용한 예제이다.
일자/시각 패턴 결과
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07. 04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001. July. 04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
「yyyy-MM-dd'T'HH:mm:ss.SSSZ」 2001-07-04T12:08:56. 235-0700

좀더상세한 내용은 다음의 URL 을 찾으면 된다.
http://xrath.com/javase/ko/6/docs/ko/api/java/text/SimpleDateFormat.html 
반응형
Posted by 녹두장군1
,