2012-05-31 2 views
2

코드 :DateTimeFormat.parse() 실패

DateTimeFormat dateFormat = DateTimeFormat 
      .getFormat("EEE MMM dd HH:mm:ss zzz yyyy"); 

    Date date = dateFormat.parse("Wed May 30 18:33:22 PDT 2012"); 

결과 :

Uncaught java.lang.IllegalArgumentException: Wed May 30 18:33:22 PDT 2012 

이유는 무엇입니까?

the docs에 대한 내 패턴을 확인하고 이중 검사했습니다. 패턴을 SimpleDateFormat tester에 끼워도 예상되는 결과가 나올 수 있지만, 분명히 결정적인 테스트는 아닙니다. 날짜

답변

4

구문 분석은 당신이 언급 한 docs에 따라 지원이 제한되어 있습니다 : 구문 분석

시간대 지원이 제한됩니다. 표준 GMT 및 RFC 형식 만 지원됩니다. 시간대 ID (예 : America/Los_Angeles), 시간대 이름 (태평양 표준시, 태평양 표준시와 같은)을 사용하는 시간대 지정은 지원되지 않습니다. HHMM, GMT : 현재의 실시 예에서 구체적

는 시간대 파싱은 GMT + HHMM를 지원하고, GMT : -hhmm한다.

그래서, 다음 코드는 잘 작동 :

DateTimeFormat dateFormat = DateTimeFormat 
      .getFormat("EEE MMM dd HH:mm:ss zzz yyyy"); 
    Date date = dateFormat.parse("Thu May 31 09:45:21 GMT-07:00 2012"); 
    GWT.log("Date "+date);