2016-04-07 35 views
-3
SimpleDateFormat formatter1;   
formatter1 = new SimpleDateFormat("dd-MMM-YYYY"); 
java.util.Date dt = formatter1.parse(t5.getText()); 
java.sql.Date sqlDate = new java.sql.Date(dt.getTime()); 
JOptionPane.showMessageDialog(null,cid); 
JOptionPane.showMessageDialog(null,bid); 
JOptionPane.showMessageDialog(null,t1.getText()); 
JOptionPane.showMessageDialog(null,""+sqlDate); 

我在打印sqlDate時得到不同的日期。當我給出2016年4月7日的投入時,我會在2015年12月27日收到sqldate的價值。格式爲「07-apr-2016」的Java日期字符串在轉換爲sqldate時產生錯誤結果

回答

2

oracle docs,Y表示一週以來,y表示一年

更改代碼formatter1 = new SimpleDateFormat("dd-MMM-YYYY");formatter1 = new SimpleDateFormat("dd-MMM-yyyy");

2

你的模式不正確,正確的是dd-MMM-yyyydd-MMM-YYYY

相關問題