这里使用的是Oracle数据库, 现将日期字符串向表中设值时, 一般使用preparedStatement.setDate(). (这样只能存入日期 ),具体做法如下: /** */ /**将日期字符串转为java.util.Date类型*/ SimpleDateFormat sdf = new SimpleDateFormat( " yyyyMMdd " );java.util.Date utilDate = sdf.parse( " 20071001 " ); /** */ /**将utilDate转成sqlDate类型*/ java.sql.Date sqlDate = utilDate.getTime(); /** */ /**通过预处理写入数据库*/ preparedStatement.setDate(1,sqlDate); 注意:SimpleDateFormat的日期格式“yyyyMMdd”,不能写成"yyyymmdd",否则将得到的日期只会为01月。 另类取得年月日的方法: import java.text.SimpleDateFormat; import java.util. * ;java.util.Date date = new java.util.Date(); // 如果希望得到YYYYMMDD的格式SimpleDateFormat SimpleDateFormat syf = new SimpleDateFormat( " yyyyMMDD " );String dateFormat = syf.format(date); // 如果希望分开得到年,月,日SimpleDateFormat SimpleDateFormat sy = new SimpleDateFormat( " yyyy " );SimpleDateFormat sm = new SimpleDateFormat( " MM " );SimpleDateFormat sd = new SimpleDateFormat( " dd " );String syear = sy.format(date);String smon = sm.format(date);String sday = sd.format(date);