2012-07-20 90 views
0

我有我的網頁上一個jQuery的日期選擇器:獲取日期對象在Java中從一個日期字符串

$("#dob").datepicker({ 
     yearRange: "-100:+0", 
     dateFormat: 'dd-mm-yyyy', 
     changeMonth: true, 
     changeYear: true, 
     showAnim: 'slideDown', 
     minDate: '-100Y', 
     maxDate: '-1D' 
    }); 

我越來越出生日期字符串:在我的servlet 25-12-1988

我想這:

SimpleDateFormat formatter=new SimpleDateFormat("dd-mm-yyyy"); 
      try { 
       ud.setDob(formatter.parse(dob)); 
      } catch (ParseException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

以dB插入此我這樣做:

pstm.setDate(9,new java.sql.Date(ud.getDob().getTime())); 

和DB我得到這個:1988-01-25 00:00:00這是不正確。

數據類型列的是datetime

問題出在哪裏?

回答

4

mm是「分鐘」。 「月」是MM

SimpleDateFormat formatter=new SimpleDateFormat("dd-MM-yyyy"); 

(見the javadoc for java.text.SimpleDateFormat

+2

嗯,你要提供*固定*格式,而不是僅僅把破損的? – 2012-07-20 13:29:53

+0

現在工作....謝謝。 – JAVAGeek 2012-07-20 13:33:37

+0

我可以確保在解析之前,字符串是正確的格式---- 例如,如果我會得到像這樣的字符串:25/12/1988或25-12-88 那麼它會通過一個異常? – JAVAGeek 2012-07-20 13:37:06