2013-03-09 2 views
1

간단한 날짜 형식 API를 사용하여 아래 날짜를 구문 분석하는 동안 파서 예외가 발생합니다.SimpleDateFormat을 사용하는 날짜 형식

String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00"; 
    java.text.SimpleDateFormat dateformate= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    effDate = dateformate.parse(inputTimeStamp); 

제발 나를 도와주세요.

답변

2

변경

java.text.SimpleDateFormat dateformate= 
    new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

java.text.SimpleDateFormat dateformate= 
    new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 

에 당신은 것입니다 당신의 inputTimeStamp

+0

를 참조하십시오. –

0

패턴에서 슬래시 (/)를 가지고 : yyyy/MM/dd HH:mm:ss - z를 z는 일반 시간대 위해입니다. SimpleDateFormat.

2

다른 형식의 날짜를 파싱하기 때문에 SimpleDateFormat으로 설명했습니다. effDateString이고 형식이 지정된 날짜를 보유해야하는 경우 GMT-08:00 사이에 공백이 없어도 다음 코드로 해결할 수 있습니다.

String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00"; 
SimpleDateFormat inputDateformat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss - z"); 
SimpleDateFormat dateformate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
effDate = dateformate.format(inputDateFormat.parse(inputTimeStamp)); 

은 내가보기 엔 당신은 날짜에 계산을 수행 할 특히,도 joda time 추천 할 것입니다.

String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00"; 
DateTimeFormatter inputDateformat = DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss - z Z"); 
DateTimeFormatter dateformate = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); 
effDate = dateformate.print(inputDateFormat.parseDateTime(inputTimeStamp)); 
0

이 시도 :

new SimpleDateFormat("yyyy/MM/dd HH:mm:ss - z"); 

this FYR 귀하의 시간대가없는