格式为“的Java日期字符串”;2016年4月7日“;转换为sqldate时产生错误的结果

格式为“的Java日期字符串”;2016年4月7日“;转换为sqldate时产生错误的结果,java,oracle,jdbc,Java,Oracle,Jdbc,我在打印sqlDate时得到了不同的日期。当我在2016年4月7日输入时,我在sqldate中得到的值为2015-12-27。您的模式不正确,正确的模式是dd-MMM-yyyy而不是dd-MMM-yyyy根据,Y表示周年,Y表示年 更改您的代码formatter1=新的SimpleDataFormat(“dd-MMM-YYYY”)至formatter1=新的SimpleDataFormat(“dd-MMM-yyyy”) SimpleDateFormat formatter1; f

我在打印sqlDate时得到了不同的日期。当我在2016年4月7日输入时,我在sqldate中得到的值为2015-12-27。

您的模式不正确,正确的模式是
dd-MMM-yyyy
而不是
dd-MMM-yyyy

根据,Y表示周年,Y表示年

更改您的代码
formatter1=新的SimpleDataFormat(“dd-MMM-YYYY”)
formatter1=新的SimpleDataFormat(“dd-MMM-yyyy”)

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);