2012-07-17 1 views
0
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy"); 
dt = formatter.parse(temp[0]); 

은 나에게 오류를 제공날짜 개체에 문자열 "30-MAR-07"을 변환

java.text.ParseException : 파싱 할 일 "30-MAR-07"

어떤 방법이 있나요 내 자신의 문자열 분할 및 번역 - 월 -에 - 숫자 방법을 쓰지 않고도 주어진 문자열을 Date 객체로 포맷 할 수 있습니까? 감사합니다

+6

(new SimpleDateFormat("dd-MMM-yy")는 "기대 30-MAR-07 ""mm/dd/yyyy "형식과 일치합니까? –

+0

SDF에 대한 javadocs를 읽은 다음 왜 물어 보시겠습니까? –

답변

10

를 사용하여 올바른 형식, 다음은

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy"); 
6

귀하의 SimpleDateFormat 패턴은 "30-MAR-07"에 대한 잘못된 완전히입니다. 잘못된 순서로 값을 가져 왔고 잘못된 구분 기호를 사용하고 잘못된 월 형식을 사용합니다. 원하는 항목 :

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy"); 

로케일을 지정할 수도 있습니다.

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy", Locale.US); 

나는이 작동하는지 확인했습니다 - 적어도 내 컴퓨터 :

-1

을이 시도에 ... 어떤 방법으로

System.out.println(new SimpleDateFormat("dd-MMM-yy").format(new Date("30-MAR-07"))); 
+1

음, 나는 그것이 당신이 생각하는 것을하고 있다고 생각하지 않는다 ... –

+0

Jon은 그것이 dd-MM-yy 형식의 날짜 객체로 30-Mar-07 int를 변환하려고하지 않는다. 출력 할 때, 미안 해요 뭔가를 놓친 경우 –

+0

당신은'Date' 생성자를 호출하고 나서'SimpleDateFormatter'로 결과를 포맷합니다. OP는 질문에 따라'SimpleDateFormatter'를 사용하여 텍스트를 * 구문 분석 *하려고합니다. –