2013-10-26 4 views
1

내가 문자열이 보이는이 변환 할 수 없습니다와 같은 :날짜를 문자열로

if (s.length() > 10) 
    s = s.substring(5, s.length() - 4); 

s = " 27-Oct-2013 11:31:31"

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss"); 
Date timestamp = null; 

try { 
    timestamp = formatter.parse(s.trim()); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

그것을 후 : 조금 더 간단 내가 할 수 있도록하기위한 Sun, 27-Oct-2013 11:31:31 GMT 예외 캐치 java.text.ParseException: Unparseable date: "27-Oct-2013 11:31:31"

+0

당신이 간단한 오류를 찾을 수 있도록 노력해야한다 - 나는 당신의 코드와 에러없이 시도에만 문자열 (27) 10 월 - 2013 년 형식 DD-MMMM-YYYY와 시간 부분 – Axarydax

+0

에 대해 동일한를 사용해보십시오 happen –

+0

나를 위해 동일 - 던진 예외 없음 – svs

답변

7

당신은 여러분의 포맷터를 위해 영어로 된 철자가있는 로케일을 지정해야합니다. 그렇지 않으면 기본 로케일을 사용하게됩니다. 지정된 지역화 패턴과 사용자의 기본 로케일의 DateFormatSymbolsCalendar를 사용하여 구성하는 새로운 SimpleDateFormat

SimpleDateFormat(String pattern)

.

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.US); 
+0

+1. 문자열의 시간대가 GMT 인 경우 Timezone도 SimpleDateFormat에서 GMT로 설정해야합니다. –

+0

Greate. 그것은 작동합니다. Locale.US 만 추가하면됩니다. –

관련 문제