2010-11-22 5 views
2

"Tue Nov 12 2010 Tue"문자열이 있는데 java.util.Date 객체에서 파싱하려고합니다. 나는 다음과 같은이Date 객체에 대한 문자열 구문 분석

DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date= format.parse("Tue Nov 12 2010"); 

그것은주고있다 예외 코드 아래 연락처 :

java.text.ParseException: Unparseable date: "Sun Nov 21 2010"

그것으로 무엇이 잘못되었는지를 받고하지 ???

+2

질문을 입력 한 텍스트 영역의 오른쪽에는 ** 서식 지정 방법 **이라는 제목의 상자가 있습니다. 읽을만한 가치가있다. 코드 형식을 수정했지만 지금은 다섯 가지 질문을 던졌습니다. 이제 혼자서 비행 할 시간입니다. –

+2

"dd/MM/yyyy"형식이 "Tue Nov 12 2010"과 일치하지 않는 이유는 무엇입니까? –

+0

도움이 되었다면 답을 수락하는 것이 좋은 형태로 여겨집니다. @ 앨리슨은 도움이되었고 가장 빠른 대답을했습니다. – Jim

답변

1

당신이
새로운 SimpleDateFormat의 ("DD/MM은/년")를 생성 한 날짜 형식;
해당 양식의 날짜 만 구문 분석합니다. 나는. 05/10/1989 형식을 좀 더 적절하게 변경해야합니다.

7

형식이 잘못되었습니다. 형식을 dd/MM/yyyy으로 지정하면 해당 형식 (!)으로 포맷 할 문자열을 입력해야합니다. 21/11/2010. 이 형식이 아닌

4

당연히 때문에

Tue Nov 12 2010에 대한 형식이어야합니다 EEE MMM dd yyyy

Have a look at docs

+1

연결된 문서에서 'd'는 해당 연도를 의미하고 'd'는 해당 날짜를 나타냅니다. 또한 'Y'도 없습니다. – codaddict

+0

@codaddict는 나의 실수였습니다 –

1

날짜를 구문 분석하려면 올바른 형식을 제공해야합니다. 샘플 날짜를 입력하면 형식은 "EEE MMM dd yyyy"

+0

+1 나를 고쳐주었습니다 :) –

0

입니다. 잘못된 날짜 형식을 사용하고 있습니다. 문자열 형식에 따라 구문 분석하려면 "EEE MMM dd yyyy"를 사용하십시오.

2

코드를 읽고 상식을 사용하는 방법을 학습하십시오.

 
DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date= format.parse("Tue Nov 12 2010"); 

이 문자열과 일치하지 않습니다 지정된 형식 구문 분석되고 있음을 노골적으로 명백해야한다. 서로 인접한 선상에 있습니다. 그것보다 간단하지 않습니다.

성공적인 프로그래머가 되려면이 같은 것을 볼 수 있어야합니다. 이것을 볼 수 없다면 문제를 일으키는 두 줄이 같은 소스 코드 파일에도 없을 때 비슷한 문제를 어떻게 찾을 것입니까?

제 조언은 코드를 읽고 디버깅하는 법을 배워야하는 개인적 책임입니다. 이 두 줄의 코드가 일치하지 않는다고 타이핑 할 때 거대한 붉은 깃발이 있어야합니다.