포맷(숫자,문자,날짜) 날짜, 시간 문자열 값으로 Date 오브젝트로 만들기 >> SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US)
sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
"Fri Sep 08 17:05:57 KST 2017" 문자열을 파싱하여 Date 객체로 생성해보려고 시도하였다
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy");
Calendar date = Calendar.getInstance();
date.setTime(sdf.parse(wiResolvedDateStr));
System.out.println(date.getTime());
위와 같은 코드를 작성하여 돌려봤지만 ParseException 이 발생하여 제대로 수행되지 않는다
구글링을 해봤지만 해법을 찾지 못했다
혹시나해서
Date da = new Date();
System.out.println(da);
해보니 "월 10월 30 18:17:50 KST 2017" 이라고 출력된다
Date클래스의 디폴트 모양과 같은듯한데 그 포맷을 찾지 못하는건지도 모르겠다
결국 우연히 다른건을 처리하면서 알게된 사실인데 MMM 포맷은 Locale 이 en_US 와 같은 영어권인 경우에서만 지원된다는 것을 알게 되었다
해서 구글에서 java의 date와 locale 에 대해 검색해서 다음과 같은 코드가 있음을 알게 되었다
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 E요일", Locale.KOREAN);
format 지정시 해당 format 을 허용하는 locale 을 지정해야만 jvm 에서 무사히(?) 동작한다는 의미가 되겠다