这里使用的是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);