2011-10-18 2 views
3

SimpleDateFormat 패턴이 "yyyyMM"이고 arg가 yyyy-MM이지만 예외 나 잘못된 결과는 없습니다. 왜? 들으 ~java SimpleDateFormat 인수가 다른 경우

SimpleDateFormat format = new SimpleDateFormat("yyyyMM"); 
System.out.println(format.format(format.parse("2011-07"))); 

결과가 201,105

+1

좀 이상하지만 그래 프가 정확하고 그 다음 달이 -7 같이 표시됩니다. 12-7 = 5 – Blem

+1

@Blem : correct. 소스 코드를 살펴보면 아랍어 텍스트의 음수 기호를 인식하는 특수한 논리조차 있습니다 (숫자 뒤에 *가 붙는 곳) –

답변

4

사용 setLenient(false)이다; 그러면 예상 한 예외가 throw됩니다.

setLenient() docs을 참조하십시오.

0

parse의 입력은, 잘못된 시도한다

에서 System.out.println (format.format (format.parse ("201107")));

2011-07은 월을 마이너스 7 개월로 해석하여 201005 (12-7 = 5)로 해석합니다.

관련 문제