2014-01-18 2 views
0

아마도 뭔가를 내려다 보지만, 문자열을 최신으로 파싱하는 것이 올바르게 작동하지 않습니다. 나는 문자열을 가지고 : "20110705_060229"형식은 다음과 같습니다 "YYYYddMM_HHmmss"Java DateFormat이 올바르게 변환되지 않습니다.

이 코드 조각 :

Date triggermoment; 

public void setTriggermoment(String triggermoment) throws ParseException { 
    DateFormat formatter = new SimpleDateFormat("YYYYddMM_HHmmss"); 
    this.triggermoment = formatter.parse(triggermoment); 
} 

(나는 toString를 실행할 때() triggermoment에 방법) 출력으로 저를 제공합니다 월 월을 03 06:02:29 CET 2011

왜 그날과 달이 올바르게 파싱되지 않습니까? 1 월 3 일 대신 6 월 7 일이어야합니다.

미리 감사드립니다!

답변

3

수년간 y을 사용해야합니다. Y은 주 년을 위해 사용됩니다

DateFormat formatter = new SimpleDateFormat("yyyyddMM_HHmmss"); 

출력 :

Sat May 07 06:02:29 CEST 2011 

그것은 6월 7일 대신 1월 3일

년의 5 월이어야한다 월 아니다 유월.

+1

해보십시오 yyyyddMM_HHmmss 대단히 감사합니다! 실제로 그것은 있을지도 모른다. 나는 잠이 필요하다고 생각한다 ;-) 지금 해결 된 문제! –

2

MM은 월이고 mm은 munutes입니다. y는 연도를 나타내고 Y는 주년을 나타냅니다. 대신 YYYYddMM_HHmmss

관련 문제