2011-09-07 7 views
1

자바에서 다음 날짜를 문자열 표현에서 java.util.Date로 구문 분석하는 방법은 무엇입니까?Java 날짜 구문 분석

2011-07-12T16 : 45 :

private Date getDateTime(String aDateString) { 
    Date result = new java.util.Date(); 
    SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); 
    try 
    { 
     result = sf.parse(aDateString); 
    } 
    catch (Exception ex) 
    { 
     Log.e(this.getClass().getName(), "Unable to parse date: " + aDateString); 
    } 
    return result; 
} 
+0

[자바에서이 유형의 데이터 형식을 구문 분석 할 수 있습니까?] (http://stackoverflow.com/questions/4013681/parse-this-type-of-date-format-in-java) –

답변

5

. 년/월/일 구분 기호는 분명히 틀렸으므로 문자 그대로 'T'이 필요합니다. 이 시도 :

기록을 위해
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 

는, 이것이 ISO 8601 결합 된 날짜와 시간 형식입니다.

+0

패턴에 하나의 작은 오류가 있습니다 - 예제 시간이 군사 시간이기 때문에'hh' 대신'HH' 여야합니다. 그냥 그것을 가리키는 따기하지 않습니다. :) – CoolBeans

+0

수정에 대한 많은 감사 - 고정. 그게 [내가 처음이 실수를 한 건 아니야] (http://stackoverflow.com/questions/1313280/inconsistent-date-parsing-using-simpledateformat), 어느 쪽이든 ... –

+0

하하 - 그건 상당히 우연의 일치입니다 :) – CoolBeans

3

날짜 형식 패턴이 잘못되었습니다 : 56

나는 다음 시도했다. yyyy-MM-dd'T'HH:mm:ss이어야합니다.

같은 날짜를 구문 분석 "2011-07-12T16 : 45 : 56"당신은 사용할 필요가 : - 당신은 올바른 날짜 형식 패턴을 사용하지 않는

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
2

확인 당신이에 공급되는 문자열에 대한 귀하의 SimpleDateFormat에 공급되는 패턴.

는 잠재적 인 불일치를 참조하십시오? 나는 3을 참조하십시오.