2012-03-05 5 views
1

다음 텍스트를 날짜로 변환하려고하지만 올바르게 파싱 할 수 없습니다.Java 문자열 변환 날짜가 throw됩니다 Unparseable date

String strDate = "Tue Mar 13 12:00:00 EST 2012"; 
try{ 
    SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy"); 
    //also tried SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy HH:mm"); 
    //as well as sd.setTimeZone(TimeZone.getDefault()); 
    Date date = sd.parse(strDate); 
}catch(Exception e) 
{ 
    e.printStack(); 
    //fails with java.text.ParseException: Unparseable date: "Tue Mar 13 12:00:00 EST 2012" 
} 

무엇이 잘못 되었나요?

+0

사용중인 'SimpleDateFormat'은 코드 샘플에 대해 감사합니다. 예 : "02/07/2011" –

답변

5

... EEE MMM dd를 같은 수의 입력과 일치하는 날짜 형식을 사용해보십시오 것입니다.

DateFormat sd = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy"); 

편집 : 날짜 형식 문자열을 고정합니다.

참고 : HH는 오전/오후 시가 아닙니다.

+0

감사합니다. 분명히 나의 잘못을 분명히했다. 환호 – ke3pup

+1

해당 형식을 사용해 보았지만 작동하지 않습니다. 내 데이트는 힘들지. 테스트 대상 : "Wed Sep 15 00:00:00 CEST 1999" – DavidVdd

6

날짜 형식이 dd/MM/yyyy (일/월/년) 형식으로되어 있지만 긴 날짜 문자열을 전달하고 있습니다. 귀하의 형식은 2013 년 5 월 13 일과 같은 날짜를 구문 분석합니다. SimpleDateFormat http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html javadocs에서 심볼을 확인하십시오.

그래서 날짜 형식 등