2014-05-25 2 views
0

내가 뭘 잘못하고 있는지 모르겠다. 이것은 예외입니다. java.text.ParseException : 파싱 할 수없는 날짜 : "Fri Jun 14 13:25:40 ART 2013"(오프셋 20)ParseExcepion에서 안드로이드의 문자열을 구문 분석하려고 할 때

그리고 위의 문자열 날짜를 다음과 같이 구문 분석하는 코드입니다. 객체 날짜 :이 관련된 문제에 많이 볼 수

private static final String PARSE_DATE_PATTERN = "EEE MMM d HH:mm:ss z yyyy"; 

,하지만 난 이것에 문제가 나에게 도움이 될 수 있습니다 찾을 수 없습니다

public static Date getDateParseFromString(String sDate){ 


     DateFormat dateFormat = new SimpleDateFormat(PARSE_DATE_PATTERN, Locale.getDefault()); 
     dateFormat.setTimeZone(TimeZone.getDefault()); 
     Date d = null; 
     try { 
      d = dateFormat.parse(sDate); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return d; 
    } 

패턴은 무엇입니까?

미리 감사드립니다.

감사합니다.

+2

@ZouZou 오프셋이 20이므로 ART가 알려진 로케일이 아닌 것처럼 보입니다. –

+0

오 예, 기본 로케일이 있습니까? 또는이 변경 사항은 장치 구성에 따라 다릅니다. – user1977204

+0

'SimpleDateFormat' 메쏘드는 디폴트'Locale'을 사용하여 날짜 문자열을 파싱합니다. 이를 통해 금은 금요일을, 2 월은 2 월을 의미 함을 알 수있다. 이 경우에는 ART로 무엇을해야할지 모른다. 사용중인 Java 버전에 해당 아르헨티나 (?) 시간대가 없을 수 있습니다. –

답변

0

답변 해 주셔서 감사합니다. 문제는 로캘입니다. 이 오류 때문에 내가하는 일에 대해 좀 더 자세히 설명합니다. 이 날짜는 내가 parse.com 저장소 응용 프로그램에서 다운로드 한 다음 저장소에있는 기본 데이터로 .apk를 내보내는 SQLLite DB에 데이터를 저장합니다. 그런 다음 사용자가 응용 프로그램을 실행할 때이 저장소에서 업데이트를 실행하는 프로세스가 있으며 문제는 내 초기 데이터가 아르헨티나 표준 시간대에있는 것입니다. 따라서 다른 지역의 사용자가이 로켈을 설치하지 않은 경우 기기에서 앱이 다운됩니다. 그래서이 팀은이 오류를 수정하기 위해 저장소에서 얻은 날짜를 Date 클래스의 the getTime() 메서드를 사용하여 밀리 초로 전달하기로 결정했습니다.

그런 다음 리포지토리의 업데이트가있는 경우 .apk를 내보낼 때 저장하는 밀리 초 날짜와 비교합니다.

다시 한번 감사드립니다!

감사합니다.

+0

당신은 잘 모르겠어요, 다음 질문을 삭제할 수, 나는이 생각하는 다른 누군가가 똑같은 문제를 가지고 여기에서 도움을 얻을 수 있다는 그럴듯한 말입니다. 그러나 대답은 향상 될 수 있습니다. –

+1

:-) (어떤 범죄들이 의도하지)이 사이트에 유용한 정보를 추가하거나 실제 대답 – rds

+0

@ZouZou를 만들기 위해 시간이 걸릴 것 경우 –

관련 문제