2011-07-06 3 views
3

이 질문은 다음과 같은 코드에 의해 발생 :DateFormat은 java의 정확한 날짜를 어떻게 파싱 할 수 있습니까 (예 : .NET의 DateTime.ParseExact)?

DateFormat DF = new SimpleDateFormat("yyyyMMdd"); 
String dateString = "20110133"; 
System.out.println(DF.parse(dateString)); 
// Wed Feb 02 00:00:00 CET 2011 

2월 02 에 월 33 형질 전환 parse 방법 dateString 실제 날짜를 나타내지 않는 경우 예외를 던질 수있는 방법이 있나요?

.NET의 경우 DateTime.ParseExact과 같습니다.

답변

8

당신은 유효하지 않은 날짜와 함께 (동의 즉, 다음 변환)을 엄밀하게하지를 말하도록 한 DateFormat 클래스의 setLenient(boolean) 방법을 사용할 수 있습니다이

DF.setLenient(false); 

javadoc reference

+0

차가움. 하지만 전체 인스턴스에 대해 설정해야 할 불쌍한 점이 있습니다. 음 ... – Zeemee

4

을하고 시도 .

+0

죄송합니다, Bala R이 처음이었습니다 :). – Zeemee

관련 문제