mm
로 분 java.sql.Date
입니다 던져 질수 있다고이 지금까지 내 코드입니다. MM
달입니다 :
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
은 자세한 내용은 documentation를 참조하십시오.
당신은 (즉, 엄격한으로 df.setLenient(false)
을 설정해야하고 다시 결과를 포맷하려고 할 필요가 없습니다 -. 단지 구문 분석 예외가 충분해야한다
이
개인적으로 내가 어떤 날짜 Joda Time을 사용하십시오 자바/시간 일하지만 - 그것은 훨씬 더 좋은 API의 java.util.Date
java.sql.Date
대에 관해서는
-.. 당신이 우리가 완전히 java.util.Date
을 사용 준 코드는 이미 보존 할 java.sql.Date
에 대한 수입을 가지고 있다면 다음과 같은 것을 원할 것입니다 :
java.util.Date testDate = ...;
다시 포맷 할 필요가 없습니다, 당신은 심지어 모든 변수를 필요하지 않을 수 있지만 :
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
df.setLenient(false);
Date testDate = null;
boolean valid = false;
try {
df.parse(jTextField3.getText());
valid = true;
}
catch (ParseException e) { } // valid will still be false
if (!valid) {
JOptionPane.showMessageDialog(rootPane, "invalid date!!");
}
(또는 당신은 catch 블록에서 메시지 대화 상자를 보여줄 수 있지만, 당신은 할 수 성공 사례에 대해 else
절을 쉽게 가질 수 있습니다.)
SQL 날짜와 유틸리티 날짜 사이에 가져 오기가 혼합되어있을 수 있습니다. – mael
* 어디에서 * 오류가 있습니까? 귀하의 코드에 캐스팅이 포함되어 있지 않습니다. 그리고 다른 방법으로 오류가 발생할 것으로 예상됩니다 (java.sql.Date는 java.util.Date의 하위 클래스이므로) –
아마도 가져 오기 오류입니다. java.util.Date testDate = null; ' – acdcjunior