2013-06-12 5 views
1

strftime("%Y:%m:%dT%H:%M:%SZ")에 의해 생성 된 시간 스탬프 문자열 은 Python으로 생성되었습니다.SimpleDateFormat 구문 분석 날짜가 strftime에 의해 생성되었습니다.

이제 Java의 SimpleDateFormat을 사용하여이 타임 스탬프를 구문 분석하려고합니다. 내가 Unparseable date: "2013-03-01T11:22:18.01Z"

내가 여기 저기 DATE_FORMAT을 조정, 모든 일을하려고하지만 봤는데라는 오류 대화 상자를 얻을

String DATE_FORMAT = "YYYY-MM-DD'T'hh:mm:ss.ssZ" 
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT) 
sdf.setLenient(false) 
sdf.parse(timestamp) <---- throws ParseException here 

을하지만 : 부지의 내가 찾은 샘플 코드는이 작업을 수행하는 것 나는 꽤 오랫동안 같은 장애물에 갇혀있었습니다. 이것에 대해 stackoverflow 커뮤니티의 힘을 빌릴 필요가있을 것 같습니다. 22 : 18.01Z 의해 분석 할 수없는 2013-03-01T11위한

+0

javadoc SimpleDateFormat [patterns] (http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)을 읽으십시오. –

+0

'YYYY'가 아니라'yyyy'이어야하고'DD'가 아니라'dd'이어야합니다. 또한'hh' 대신'HH', 등 - 언급 한 javadoc을 참조하십시오. – fge

답변

1

기타에서 DatatypeConverter.parseDateTime으로 분석 할 수있다 yyyyYYYYddDD 인 경우 Z도 문제를 일으킬 수 있습니다. 귀하의 SimpleDateFormat

yyyy-MM-dd'T'HH:mm:ss.ssZ 
| | | | | | | | | 
| | | | | | | | -----timezone (RFC 822 time zone, ex: -0800) 
| | | | | | | -------seconds again (maybe you wanted SS for milliseconds) 
| | | | | | ----------seconds (0-59) 
| | | | | -------------minutes (0-59) 
| | | | ----------------hours (0-23) 
| | | ------------------the character T 
| | ---------------------day in month 
| ------------------------month in year 
----------------------------year 

같은 패턴하지만, "2013-03-01T11:22:18.01Z"을 통과 문자열로, 단순히 끝에 Z가 아닌 시간대가 있습니다.

실제로 끝에 Z를 기대하는 경우에, 당신은 형식 문자열에 인용해야합니다

yyyy-MM-dd'T'HH:mm:ss.ss'Z' 

는 당신이 T 위해 한 좋아한다. javadoc :

텍스트는 해석을 피하기 위해 작은 따옴표 (')를 사용하여 인용 할 수 있습니다.

+0

점 뒤에있는'ss'는 실제로는'SS' (마이크로 초 동안)이어야합니다. – fge

+0

@fge 정말 좋습니다. –

1

1) 정확한 패턴 : 22 : 0.01이 밀리 초)

이 2013-03-01T11 2) Z 시간대

경우는 18.01 ("yyyy-MM-dd'T'HH:mm:ss.SSS" 인 SimpleDateFormat 'Z'는 -0800 형식 만 사용할 수 있습니다 (RFC 822). 'z'(일반 시간대)로 변경하더라도 여전히 Z를 파싱하지 않습니다. GMT가되어야합니다.

SimmpleDateFormat API를 참조하십시오.

3) 2013-03-01T11 : 22 : 18.01Z 매우 XSD 날짜 형식 http://www.schemacentral.com/sc/xsd/t-xsd_dateTime.html처럼 보이는 java.xml.bind 패키지 (자바 표준 라이브러리)에 비해

+0

감사! 방금 당신의 제안을 시도했지만 여전히 같은 오류를줍니다. – Barney

+0

이제 작동합니다! 무리 감사! – Barney

관련 문제