반응형
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 클래스는 일자의 포맷과 해석을 로케일을 고려해 실시하기 위한 구상 클래스이다.
위의 포맷문자로 사용한 예제이다.
좀더상세한 내용은 다음의 URL 을 찾으면 된다.
http://xrath.com/javase/ko/6/docs/ko/api/java/text/SimpleDateFormat.html
이것을 웹에서 공통으로 맞춰줘야하는 난감한 상황이 발생하는데 다른 표준에 대해선 쉽게 바꾸었다.
근데 유독 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
반응형
'자바(JAVA)' 카테고리의 다른 글
velocity 에서 숫자로 for 문을 돌리고자 할때 (0) | 2008.11.30 |
---|---|
ModelAndViewDefiningException 클래스의 용도 (1) | 2008.11.19 |
Spring 에서 interceptors 사용하기 (0) | 2008.11.19 |
super 사용법 (0) | 2008.11.08 |
새창으로 데이타 submit 해서 넘기기 (0) | 2008.10.11 |
Process 관리하기 (0) | 2008.10.04 |
non-ui thread 에서 main-ui thread 사용시 에러 (0) | 2008.09.28 |
JTextArea 예제 (0) | 2008.09.24 |